[Geomedia-l] Problems with setting up WMS Service in Publisher
Gissur Þórhallsson
gissur at loftmyndir.is
Tue Aug 1 11:38:49 CDT 2006
Thank you for you prompt responses.
What Nick proposed, regarding the configuration of launch permissions for mapsvr/mapsvrmngr was very helpful, and in fact it got my demo project running. So I went ahead and created a simple geoworkspace with some simple raster data which I published using the Server Configuration Tool, only to find the exact same error messages appear for the that service.
The original one still works like a charm and I can see no differences in the way they're set up. Both use metadatabases in the same directory which have the same permissions and both report as being running under Network Service privileges, Incidentally, I was unable to figure out how to extract of System.Security.Principal.WindowsIdentity.GetCurrent().Name out of global.asax due to my unfamiliarity with .NET, but they both report the same user name right before the place where the error occurs in request.aspx.
I somehow doubt that the location of the warehouses is a factor regarding object creation permissions.
You guys have been EXTREMELY helpful and I hate having to bother you again, but once again, I am at my wits end.
_______________________________________________________________
Best Regards,
HYPERLINK "mailto:gissur at loftmyndir.is"Gissur Þórhallsson · B.Sc
Software Consultant
Direct: +354 540 2500 · Fax: +354 562 2819
HYPERLINK "http://www.loftmyndir.is/"www.loftmyndir.is
_____
From: Nick Askew [mailto:nick at askew.nl]
Sent: 20. júlí 2006 11:05
To: Gissur Þórhallsson; geomedia-l at lists.directionsmag.com
Subject: RE: [Geomedia-l] Problems with setting up WMS Service in Publisher
Hi,
We are also using webmap and WMS/WFS and we are past the problems you mention. I am almost certain that the problem is that the user the is trying to create the objects does not have permission to do so. This is probably happening in globabl.asax so try determining the value of System.Security.Principal.WindowsIdentity.GetCurrent().Name somewhere early on in the global.asax. This will tell you the name of the user that it running the application (it will be different in debug and run modes, or at least it was for me). This user will need to be configured using dcomcnfg to be allowed to launch the mapsvr/mapsvrmngr.
Another problem you are going to get is that Intergraph forgot to allow for locales that use a comma rather than a point as a decimal separator. So once you get past this problem you will find that your results are invalid in most wms clients including geomedia :-) The solution suggested by Intergraph is to set the locale of the server to en-us, our solution is to modify the request.aspx page to set the locale correctly for the individual request, the real solution would be for Intergraph to release a fixed version so hopefully they will do that with the next patch.
Nick
Protect your domain from use by spammers. Set up an SPF record, read more
about it here http://spf.pobox.com/.
Find a Better Way of Life at www.marillion.com
-----Original Message-----
From: Gissur Þórhallsson <gissur at loftmyndir.is>
To: <geomedia-l at lists.directionsmag.com>
Date: Thu, 20 Jul 2006 10:40:13 -0000
Subject: RE: [Geomedia-l] Problems with setting up WMS Service in Publisher
Hi everybody
About 3 weeks ago I asked about an error I've encountered while setting up WMS using the Publisher with Webmap Professional 6, I got some good advice from Barry (enclosed below), but after following them to the letter, I'm still having problems.
But I've found some things out. I'm wondering what they mean.
First off, I discovered, that after I reboot the machine or flush IIS - the first message I get is this:
Server Error in '/mapServ' Application.
_____
Retrieving the COM class factory for component with CLSID {0743C45F-78A6-11D1-9461-0060973831CD} failed due to the following error: 80070005.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {0743C45F-78A6-11D1-9461-0060973831CD} failed due to the following error: 80070005.
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
... omitted for brevity
Stack Trace:
[UnauthorizedAccessException:
Retrieving the COM class factory for component with CLSID
{0743C45F-78A6-11D1-9461-0060973831CD} failed due to the following error:
80070005.]
ASP.global_asax.Application_OnStart() +134
_____
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
Now, I've already added the Debug="true" directive, but still I get this. This only happens once per boot, all subsequent refreshes give me:
Server Error in '/mapServ' Application.
_____
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line
177:
objStreamReader.close ()
Line
178:
Line
179:
xmlCapabilities = m_WMSUtility.GetCapabilitiesDocument ( _
Line
180:
strCapabilitiesTemplate,
_
Line
181:
CType (Application ("ServiceInfo"), ServiceInfo) , _
Source File: Z:\syndarlen\isgraf\mapServ\Request.aspx Line: 179
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an
object.]
Intergraph.GeoMedia.WebServices.Implementations.OGCWMSUtility.GetCapabilitiesDocument(String
strCapabilitiesTemplate, ServiceInfo serviceInfo, BoundingBox objLatLonBBox,
HybridDictionary bboxDict, HybridDictionary layerDict, String[]
layerNameArray, String strUpdateSequence, String strOnlineResource, String
strLegendURL, String strDTDURL) +228
ASP.request_aspx.GetCapabilitiesResponse() in
Z:\syndarlen\isgraf\mapServ\Request.aspx:179
ASP.request_aspx.HandleRequest() in
Z:\syndarlen\isgraf\mapServ\Request.aspx:80
ASP.request_aspx.Page_Load(Object sender, EventArgs e)
in Z:\syndarlen\isgraf\mapServ\Request.aspx:61
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o,
Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object
sender, EventArgs e) +34
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,
Boolean includeStagesAfterAsyncPoint) +1061
_____
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
This I've done some looking into. It seems the m_WMSUtility variable is of type OGCWMSUtility and is set globally, outside any function body, so:
Private m_WMSUtility as new OGCWMSUtility ()
I tried probing this variable further - but it seems to be set to Null (or Nothing as vb.net would have it).
This leads me to believe that for some reason my service is either not finding the reference to OGCWMSUtility (either through misconfiguration or simply through the fact that it is missing) OR (and I think this is the more likely candidate in view of the first error) that my webservice doesn't have the permissions required to create an instance of that particular object.
This led me to explore how my permissions are set up, I gave the Network Service account Full Control on the folder which stores the web service, but that had no effect and I'm not sure what other place I could look at.
For reference I'm running a Dell Poweredge 1420 on Microsoft Windows Server 2003 for Small Business (Service pack 1) with IIS 6.0 and mapServ is a service created through the wizard with all the default settings and the Display Demo Data option enabled.
Also I'm running Geomedia 6, Webmap Professional 6 and Publisher.
One point I'd like to ask about is the licensing, we've just recently got our Webmap Pro 6 - and have been having problems with the license - now I just keep the date set to some date that webmap agrees with, but I always get the "You may continue to use this product for x more days without a license" message when I start the Administrator, could my problems have anything to do with this?
Anybody got any ideas? I could really use them.
_______________________________________________________________
Best Regards,
HYPERLINK "mailto:gissur at loftmyndir.is"Gissur Þórhallsson · B.Sc
Software Consultant
Direct: +354 540 2500 · Fax: +354 562 2819
HYPERLINK "http://www.loftmyndir.is/"www.loftmyndir.is
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.2/393 - Release Date: 19.7.2006
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.394 / Virus Database: 268.10.5/404 - Release Date: 31.7.2006
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.directionsmedia.net/pipermail/geomedia-l/attachments/20060801/9d0f70f4/attachment.html
More information about the GeoMedia-l
mailing list