11-18-2016 03:15 AM
GeoMedia WebMap / Geospatial Portal instance.
Setup with an WMS, WMPS, 2xGeoRSS, 2xWFSG.
All going well until make minor change, save new portal workspace and go to assign to the Geospatial Portal instance.
Throws error:
Invalid JSON primitive: The.
If I try and assign the portal instance an simple overview map I get:
The creator of this fault did not specify a Reason.
If I try to configure the portal instance I get:
ERROR SUMMARYException occured.MOST LIKELY CAUSES:
THINGS YOU CAN TRY:
C:\Program Files\Common Files\Hexagon\Administration Console Service\log:
2016-11-19 00:11:02,851 [21] ERROR ErrorHandler [(null)] - The service encountered an unhandled exception
System.ServiceModel.Security.MessageSecurityException: The HTTP request was forbidden with client authentication scheme 'Anonymous'. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---
Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Intergraph.AdministrationConsole.Service.Nodes.SDIPortal.ServiceReference.IConfiguratorService.GetNodes(String path, Int32 depth)
at Intergraph.AdministrationConsole.Service.Nodes.SDIPortal.ServiceReference.ConfiguratorServiceClient.GetNodes(String path, Int32 depth)
at Intergraph.AdministrationConsole.Service.Nodes.SDIPortal.SDIPortalNode.GetChildren()
at Intergraph.AdministrationConsole.Service.Nodes.Core.NodeTree.<GetNodes>d__a.MoveNext()
at Intergraph.AdministrationConsole.Service.Nodes.Core.NodeTree.<GetNodes>d__a.MoveNext()
at Intergraph.AdministrationConsole.Service.Nodes.Core.NodeTree.<GetNodes>d__a.MoveNext()
at Intergraph.AdministrationConsole.Service.Nodes.Core.NodeTree.<GetNodes>d__a.MoveNext()
at Intergraph.AdministrationConsole.Service.Nodes.Core.NodeTree.<GetNodes>d__3.MoveNext()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
at Intergraph.AdministrationConsole.Service.Nodes.Core.NodeTree.GetNode(String path)
at Intergraph.AdministrationConsole.Service.AdministrationConsoleService.GetNode(String path, Int32 depth)
at SyncInvokeGetNode(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
Next tried full uninstall / uninstall of WebMap - failed badly. Claims it is trying to uninstall an component that was not insalled - looks like something to do with AdminPortal.
I've restored the server back to good known point, rebuilt all the content and reapplied. Ended up with same problem again. Don't know how.
Ideas?
Field crews heading out in 7hrs expecting the site to be up.
Solved! Go to Solution.
11-18-2016 03:29 AM
I have experienced the same issue when attempting to set a starting workspace for an instance. The easiest workaround is to grab the ID of the workspace and edit App_Data\configuration file of the Portal instance using a text editor to specify the starting workspace.
Its good to hear I'm not the only one who's experienced.
11-18-2016 05:05 AM
Thanks Colin,
I got a temporary workaround in place by using a redirect to full.aspx.gpw=xxxxx.
Your idea sounds better - will try it when I'm a bit more awake.
11-18-2016 07:58 AM
The Admin Console Service log excerpt suggests that there is something wrong going on in the communication between itself and a Geospatial Portal instance. Specifically, the AdministrationService.svc endpoint each Geospatial Portal instance has exposed is refusing to connect using the anonymous HTTP authentication scheme, although most of the time I see an indication of the allowed authentication schemes in the fault response.
In my experience this is easily fixed by allowing anonymous authentication on the AdminService subfolder of your Geospatial Portal instance's application in the IIS manager. To be safe, enable anonymous and disable any other, and check IIS Authorization Rules and .NET Authorization Rules for whether all users are allowed. Don't worry, the AdministrationService.svc has its own security in place to prevent unauthorized modifications:
You might notice that in the .NET Authorization rules I have two Allow All Users entries. I'm not sure if it's a glitch, or I have it defined the same way on two levels of the hierarchy somewhere, but it works
Remember also, the Admin Console Service communicates with the AdministrationService.svc endpoint for both the currently configured instance of a Geospatial Portal AND the AdminPortal instance as well. So both need to have this set up the same:
11-20-2016 01:33 PM
thanks for the idea, unfortunetly no go so far. My Authentication settings appear to match yours.
AdminPortal:
And the Geospatial Portal site:
11-20-2016 01:56 PM
Just realised I showed screen shots of the portal level rather than the portal\AdminService level.
Note: After I restored the server, I ran into the problem again when the portal was still setup as anonymous, basic authentication was introduced after the problem occurred. So at this point I don't think basic authentication on the portal is the problem.
Screen shots for the portal\adminService
11-20-2016 02:34 PM
11-20-2016 03:27 PM
It is an Amazon server, and I think there are some interesting network setup somewhere along the line. Not sure how the proxies work in that environment.
There is no public name for the service, simply using IP address for everything.
However I did just try pinging the public IP address on the server and it timed out.
So that might be a lead.
however we have been using same config for a number of years, so bit surprised it broke now - but something could have changed.
I have deployed Colins suggestion and have main portal and mobile portal working fine.
Configuration still throws error, so can't add/configure a new site etc.
11-20-2016 04:01 PM
Finally got it.
Earlier on Friday I had changed the 'Hostname aliases' to the external IP address of the server.
Otherwise Consumer Portal WMPS search would not resolve externally and Consumer Portal wouldn't work.
Later in the day I modified the portal workspace and assigned to portal and it failed.
I didn't associate the setting of the host name to public IP address with the problem :<
I've changed the public hostname to another name that now resolves internally and externally and it all seems to be working now.
I basically knew about the public name issue - it just didn't occur to me the public IP address wouldn't resolve internally and that was what the error was about.
Thanks for the tip.
11-20-2016 05:14 PM