[mapguide-users] Error: Unable to Make Permanent Changes to Map
Robert Bray
rbray at robertbray.net
Sun Oct 22 02:45:28 EDT 2006
Stephen,
There are two distinctly different object types at play here and I
suspect you might be confusing them. MapGuide Studio creates what we
refer to as a MapDefintion. It is defined by an XML document and
primarily contains a coordinate system, extent, background color, and
layer and group lists.
The MgMap object represents something slightly different. MgMap
represents an instance or run time representation of a MapDefinition.
Each client through the viewer has it's own copy of an MgMap that is
usually stored in a session. I'll have to check, but I am not sure an
MgMap can be saved to the Library repository (that is the software may
prevent them from being saved in Library://). Like I said I'll need to
check on that.
Assuming it is allowed, the problem below may be because you are trying
to save an MgMap using a resource identifier with type 'MapDefinition'.
Before you go any further however, you should think about whether you
are really trying to create an MgMap or a MapDefinition.
Hope this helps...
Bob
Stephen Park wrote:
> I am unable to save a map permanently to the repository when the map has
> been opened via the MgMap.Create(.) API. I have seen 2 or 3 back-posts about
> this issue but no resolution. Could use some insite.
>
> Win2k3 Server
> MGOS 1.0.1
> MapGuideDotNetApi
>
> Repro:
> Open an existing map via MgMap.Create(.) API
> //Resource Id is of form Library://./MyMap.MapDefinition
> Add layer created previously via Studio 2K7 R1 to the map
> MgMap.GetLayers().Add(newLayer);
> Save the Map back to the repository:
> MgMap.Save(_resourceService, resourceId);
> **Exception Here**
>
> If I use the .Save method that accepts a single argument (resource service)
> I get a null reference exception. Adding the same layer to the same map via
> MapGuide Studio works correctly. Any hints?
>
> Exception Information:
>
> OSGeo.MapGuide.MgXmlParserException: An exception occurred in the XML
> parser.
> - MgResourceServiceHandler.ProcessOperation line 80 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\ResourceServ
> iceHandler.cpp
> - MgOpSetResource.Execute line 109 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\OpSetResourc
> e.cpp
> - MgServerResourceService.SetResource line 712 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\ServerResour
> ceService.cpp
> - MgRepositoryManager.SetResource line 867 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\RepositoryMa
> nager.cpp
> - MgRepositoryManager.UpdateResource line 1004 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\RepositoryMa
> nager.cpp
> - MgResourceDefinitionManager.UpdateResource line 261 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\ResourceDefi
> nitionManager.cpp
> - MgResourceContentManager.UpdateDocument line 647 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\ResourceCont
> entManager.cpp
> - MgResourceDefinitionManager.UpdateDocument line 601 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\ResourceDefi
> nitionManager.cpp
> - MgResourceDefinitionManager.ValidateDocument line 429 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\ResourceDefi
> nitionManager.cpp
> - MgResourceContentManager.ValidateDocument line 536 file
> c:\build_tux_area\mgdev_opensource\server\src\services\resource\ResourceCont
> entManager.cpp
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: users-help at mapguide.osgeo.org
>
>
More information about the Mapguide_users
mailing list