Cached Mapservice error when trying to add to Site
Hi, I'm currently trying to update some sites we have from 9.3 to 10.1, as well as converting our older webapps to similarly functional geocortex sites.
I'm attempting to use a cached mapservice (a basemap) we created in 9.3, and currently use for our old systems. We will be recreating the cached service in 10.1 eventually, but due to the time it takes to create a cache we're hoping to use the old one for now.
Our development server is running ArcGIS Server 10.1, with Geocortex 3.10.0. The cached service I'm trying to use was built in 9.3, and is currently running in production on several other webapps we've created.
When trying to create a new site, or add the basemap service to an already created site I can choose the service, but when i press next it thinks for a short time and ends with this error:
"Object reference not set to an instance of an object." in red, and the details are as follows
Details
Controller: MapServiceWizard
Action: Index
Error Info
Source: Geocortex.Essentials
Message: Object reference not set to an instance of an object.
StackTrace: at Geocortex.Essentials.MapService.GetCompatibleTileInfo(GetTileInfoOptions options)
at Geocortex.Essentials.RestManager.Controllers.MapServiceWizardController.MoveNext(String currentStep)
at Geocortex.Essentials.RestManager.Controllers.WizardController`1.WizardIndex(String buttonPressed, String currentStep, Nullable`1 finishSubWizard)
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
Anyone have any ideas? Using 9.3 services seems to work for everything but cached services, I get this error for any of them I try.
-
Hi Jason,
I'm assuming you're trying to use the cached base map found here:
(http://www.lambtongis.ca/ArcGIS/rest/services/Basemap_WM_2011/MapServer) http://www.lambtongis.ca/ArcGIS/rest/services/Basemap_WM_2011/MapServer
If you scroll through those many layers, you will see a gap in the Layer IDs right near the end - State boundaries has ID 393 and Waterbodies has ID 395. This will cause a null pointer exception ("Object reference not set to an instance of an object") because Essentials will try to visit each layer to get the layer information after you add the layer to a site. When it gets to Layer ID 394, or even 393, the server responds with an error message, which will return an empty result instead of layer info.
(See: (http://www.lambtongis.ca/ArcGIS/rest/services/Basemap_WM_2011/MapServer/393) http://www.lambtongis.ca/ArcGIS/rest/services/Basemap_WM_2011/MapServer/393 )
You may be able to manually add the service by editing the Site.xml, or you could try to resolve the data problems with your MXD.
You may also want to republish the MXD with a much simplified version, particuarly if you do not want to query those 400-odd layers in your service. ArcGIS Server will be just as happy with a single-layer service if the cached tiles are already built.
Regards,
-Malcolm
0 -
Awesome,
Thanks Malcolm! That would not be something I would NOT have found myself. When we go about recreating the cache we'll definitely be looking to simplify the layers.0
Du måste logga in om du vill lämna en kommentar.
Kommentarer
2 kommentarer