Cannot Edit Viewer in Rest Manager 3.7... Security issue?
Before I ask my question, this is our environment:
Server Window 2008 R2 64 Bit Geocortex Essential 3.7 Silverlight Viewer 1.4 IIS 7.5
And in order to access secured ArcGIS map services on another server, both the EssentialsAdministrationAppPool4 and EssentialsAppPool4 are changed to use an Active Directory identity (i.e. dpi\xmanles).
However, when we try to edit the viewer in the Rest Manager, the following error occurs:
<Event Timestamp="2012-02-22T15:10:35.1125614+11:00" Level="ERROR" Identity="xmanles"><Message>Error occured in action 'Edit' of controller 'Viewer': Unable to load viewer configuration. The file 'http://orantestbmap.dpi.nsw.gov.au/Geocortex/Essentials/REST/sites/Test/Viewers/Test/VirtualDirectory/Config/Viewer.xml' or one of the referenced external configurations could not be read or has errors. See log file for more details.
Source: Geocortex.Essentials.SilverlightViewer.Management
Message: Unable to load viewer configuration. The file 'http://orantestbmap.dpi.nsw.gov.au/Geocortex/Essentials/REST/sites/Test/Viewers/Test/VirtualDirectory/Config/Viewer.xml' or one of the referenced external configurations could not be read or has errors. See log file for more details.
Stack Trace:
System.InvalidOperationException: Unable to load viewer configuration. The file 'http://orantestbmap.dpi.nsw.gov.au/Geocortex/Essentials/REST/sites/Test/Viewers/Test/VirtualDirectory/Config/Viewer.xml' or one of the referenced external configurations could not be read or has errors. See log file for more details. ---> System.Net.WebException: Unable to load external configuration xml file from: http://orantestbmap.dpi.nsw.gov.au/Geocortex/Essentials/REST/sites/Test/Viewers/Test/VirtualDirectory/Config/Viewer.xml ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at Geocortex.Essentials.SilverlightViewer.Management.Areas.SilverlightViewer.Configuration.DefaultsLoading.ConfigurationTree.ConfigGetResponse(WebRequest request)
--- End of inner exception stack trace ---
at Geocortex.Essentials.SilverlightViewer.Management.Areas.SilverlightViewer.Configuration.DefaultsLoading.ConfigurationAggregator.Aggregate(Uri configurationUri, Boolean loadExternal)
at Geocortex.Essentials.SilverlightViewer.Management.Areas.SilverlightViewer.Configuration.ViewerConfigServer.LoadViewerConfig(SilverlightViewerConfig svConfig, Uri viewerConfigUri, Boolean loadExternal)
--- End of inner exception stack trace ---
at Geocortex.Essentials.SilverlightViewer.Management.Areas.SilverlightViewer.Configuration.ViewerConfigServer.LoadViewerConfig(SilverlightViewerConfig svConfig, Uri viewerConfigUri, Boolean loadExternal)
at Geocortex.Essentials.SilverlightViewer.Management.Areas.SilverlightViewer.Configuration.ViewerConfigServer.GetConfig(SiteConfigInfo siteConfigInfo, String viewerID, Boolean loadExternal)
at Geocortex.Essentials.SilverlightViewer.Management.Areas.SilverlightViewer.Models.Repositories.ViewerConfigRepository.GetViewerConfig(String id, Boolean loadExternal)
at Geocortex.Essentials.SilverlightViewer.Management.Areas.SilverlightViewer.ActionFilters.SLViewerFilterAttribute.OnActionExecuting(ActionExecutingContext filterContext)
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)
</Message></Event>
Few statements:
1. I have no problem edit and save the 'Site' in Rest Manager.
2. I can use the "Add Viewer" to create a viewer, but it will crash half way, with the following xml being produced.
<?xmlversion="1.0" encoding="utf-8" ?><p> </p> <Configuration Version="1.4"><p> </p> <Globals xmlns="http://www.geocortex.com/Viewer/Configuration/PreProcessor"><p> </p> <SiteUri Value="" /><p> </p> <ApplicationTitle Value="" /><p> </p> <BrowserTitle Value="Geocortex Viewer For Silverlight" /><p> </p> <BannerShow Value="true" /><p> </p> <BannerLeftImageUri Value="{ViewerConfigUri}../Resources/Images/BackgroundLeft.png" /><p> </p> <BannerRightImageUri Value="" /><p> </p> <BannerBackgroundImageUri Value="{ViewerConfigUri}../Resources/Images/BackgroundRepeat.png" /><p> </p> <GeometryServiceUri Value="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer" /><p> </p> <ToolbarOpenByDefault Value="false" /><p> </p> <DataFrameOpenByDefault Value="false" /><p> </p> <OverviewMapShow Value="true" /><p> </p> <OverviewMapOpenByDefault Value="false" /><p> </p> <OverviewMapMode Value="dynamic" /><p> </p> <ShellFlowDirection Value="LeftToRight" /><p> </p> <DataFramePosition Value="Left" /><p> </p> <MapTipsEnabled Value="false" /><p> </p> <OptimizerEnabled Value="false" /><p> </p> <OptimizerUserName Value="DefaultUser" /><p> </p> <OptimizerDataRelayUri Value="http://localhost/Geocortex/Optimizer/Rest/DataRelay/LogData.ashx?f=json" /><p> </p> <ManagedViewerDefaultsXml Value="" /><p> </p> </Globals><p> </p> <ExternalConfigs><p> </p> <ExternalConfig Uri="../../../../../../Templates/SilverlightViewer_1_4/VirtualDirectory/Viewer.Defaults.xml" /><p> </p> </ExternalConfigs><p> </p> </Configuration>
3. By copying and pasting the Viewer.xml url in a browser, it will come up no problem.
4. I can access the viewer.xml via the Geocortex Rest End Point.
5. The issue remains even if I disable the Site security.
6. I can edit and save the viewer.xml via a text editor.
7. The AD user (i.e. dpi\xmanles) has been added as a local administrator.
Can someone point me to the right direction in fixing this?
-
Hi Mary,
Does your organization use a proxy server to filter access to the Internet?
Your browser would likely already be configured to use a web proxy; however, Essentials by default will not. If your proxy requires authentication, then we'll also have to add some code to the Essentials application to instruct it on how to navigate that proxy.
Regards,
-Malcolm
0 -
Hi Malcolm,
Our organization does indeed use a proxy server to filter access to the internet.
However, apart from <Globals xmlns="http://www.geocortex.com/Viewer/Configuration/PreProcessor">, our whole application is referencing internal URL
So can you recommend a way to fix this?
0 -
Hi Mary, I had a similar problem, I'd get an error when adding a viewer. When I refreshed the viewers page, the viewer would show up, but I'd get another error when trying to edit it.
This issue was resolved for me by ensuring the REST web site had Anonymous AND Windows authentication enabled.
I hope this works for you too /customer/servlet/servlet.FileDownload?file=00P6000000e87wBEAQ
0 -
Hi Mary, I had a similar problem, I'd get an error when adding a viewer. When I refreshed the viewers page, the viewer would show up, but I'd get another error when trying to edit it.
This issue was resolved for me by ensuring the REST web site had Anonymous AND Windows authentication enabled in IIS.
I hope this works for you too /customer/servlet/servlet.FileDownload?file=00P6000000e87wBEAQ
0 -
Hi Chris,
Thanks for the reply, but enabling both Anonymous AND Windows authentication in IIS did not work for us.
In fact, I have tried enabling all the authentication options, but still didn't work.
Is your organization using a proxy server for internet?
0 -
Mary, no, we are intranet only, fully isolated from the internet. We don't use a proxy.
0
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
6 Kommentare