[mapguide-users] Create programmatically a map

sekko970 sekko970 at virgilio.it
Wed Feb 18 08:00:57 EST 2009


Sure, this is the related record in error log:

<2009-02-18T12:07:11> 			Administrator
 Error: Resource was not found:
Session:36fb9200-0000-1000-8000-000bcd727323_en_7F0000010AFC0AFB0AFA//new.Map
 StackTrace:
  - MgResourceServiceHandler.ProcessOperation line 80 file
d:\build\mapguide_open_source_v2.0\build_30.11\mgdev\server\src\services\resource\ResourceServiceHandler.cpp
  - MgOpGetResourceData.Execute line 124 file
d:\build\mapguide_open_source_v2.0\build_30.11\mgdev\server\src\services\resource\OpGetResourceData.cpp
  - MgServerResourceService.GetResourceData line 1401 file
d:\build\mapguide_open_source_v2.0\build_30.11\mgdev\server\src\services\resource\ServerResourceService.cpp
  - MgApplicationRepositoryManager.GetResourceData line 1201 file
d:\build\mapguide_open_source_v2.0\build_30.11\mgdev\server\src\services\resource\ApplicationRepositoryManager.cpp
  - MgResourceContentManager.GetDocument line 590 file
d:\build\mapguide_open_source_v2.0\build_30.11\mgdev\server\src\services\resource\ResourceContentManager.cpp
  - MgResourceDefinitionManager.GetDocument line 476 file
d:\build\mapguide_open_source_v2.0\build_30.11\mgdev\server\src\services\resource\ResourceDefinitionManager.cpp
Resource was not found:
Session:36fb9200-0000-1000-8000-000bcd727323_en_7F0000010AFC0AFB0AFA//new.Map

------------------------------------------------------------------------------------------------------


Ivan Milicevic wrote:
> 
> Very interesting... Can you check mapguide error log? Is there any
> records related with this problem?
> 
> -----Original Message-----
> From: mapguide-users-bounces at lists.osgeo.org
> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of sekko970
> Sent: Wednesday, February 18, 2009 12:41 PM
> To: mapguide-users at lists.osgeo.org
> Subject: RE: [mapguide-users] Create programmatically a map
> 
> 
> Below you can see the new map and layout XML created from
> http://localhost/mapguide/mapagent/index.html before and after the
> saving
> from Maestro (is equals for both).
> 
>   <?xml version="1.0" encoding="UTF-8" ?> 
> - <ResourceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:noNamespaceSchemaLocation="ResourceList-1.0.0.xsd">
> - <ResourceDocument>
>   <ResourceId>Library://.../newMap.MapDefinition</ResourceId> 
>   <Depth>3</Depth> 
>   <Owner>Administrator</Owner> 
>   <CreatedDate>2009-02-18T11:31:29Z</CreatedDate> 
>   <ModifiedDate>2009-02-18T11:31:29Z</ModifiedDate> 
> - <ResourceDocumentHeader
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:noNamespaceSchemaLocation="ResourceDocumentHeader-1.0.0.xsd">
> - <Security xsi:noNamespaceSchemaLocation="ResourceSecurity-1.0.0.xsd">
>   <Inherited>true</Inherited> 
> - <Groups>
> - <Group>
>   <Name>Everyone</Name> 
>   <Permissions>r,w</Permissions> 
>   </Group>
>   </Groups>
>   </Security>
>   </ResourceDocumentHeader>
>   </ResourceDocument>
>   </ResourceList>
> 
> 
> 
>   <?xml version="1.0" encoding="UTF-8" ?> 
> - <ResourceList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:noNamespaceSchemaLocation="ResourceList-1.0.0.xsd">
> - <ResourceDocument>
>   <ResourceId>Library://.../newLayout.WebLayout</ResourceId> 
>   <Depth>3</Depth> 
>   <Owner>Administrator</Owner> 
>   <CreatedDate>2009-02-18T11:35:51Z</CreatedDate> 
>   <ModifiedDate>2009-02-18T11:36:32Z</ModifiedDate> 
> - <ResourceDocumentHeader
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:noNamespaceSchemaLocation="ResourceDocumentHeader-1.0.0.xsd">
> - <Security xsi:noNamespaceSchemaLocation="ResourceSecurity-1.0.0.xsd">
>   <Inherited>true</Inherited> 
> - <Groups>
> - <Group>
>   <Name>Everyone</Name> 
>   <Permissions>r,w</Permissions> 
>   </Group>
>   </Groups>
>   </Security>
>   </ResourceDocumentHeader>
>   </ResourceDocument>
>   </ResourceList>
> 
> 
> ------------------------------------------------------------------------
> ------------------------------
> 
> 
> Ivan Milicevic wrote:
>> 
>> Please, before you open layout and map in Maestro go to:
>> http://localhost/mapguide/mapagent/index.html -> go to
>> Resource-->GetResourceContent--> and type correct resource ID on right
>> side. See is there any strange things in output XML file. Compare it
>> after saving it in Maestro.
>> 
>> -----Original Message-----
>> From: mapguide-users-bounces at lists.osgeo.org
>> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of sekko970
>> Sent: Wednesday, February 18, 2009 12:05 PM
>> To: mapguide-users at lists.osgeo.org
>> Subject: RE: [mapguide-users] Create programmatically a map
>> 
>> 
>> This is my problem:
>> 
>> I have created programmatically a map (and its layout) using MG .Net
> web
>> API. 
>> After creation, the new map and layout are visible in MG Maestro, and
>> using
>> the 'Show in browser" button are correctly shown in browser. 
>> 
>> The problem happens when I load the map directly from browser, and the
>> following error appears: 
>> << The type 'OSGeo.MapGuide.MgNullArgumentException' in assembly
>> 'MapGuideDotNetApi, Version= 2.0.2.30 11, Culture=neutral,
>> PublicKeyToken=null' is not marked as serializable >>. 
>> 
>> Then, simply saving the new layout from MG Maestro (without any
>> modification), and reloading the map directly from browser, the error
>> disappears and the map is correctly shown. 
>> 
>> After saving the layout, there aren't differences in map and layout
> XML
>> definitions. 
>> 
>> Have you any idea about? 
>> 
>>
> ------------------------------------------------------------------------
>> ------------------------------
>> 
>> 
>> Ivan Milicevic wrote:
>>> 
>>> Can you write pseudo code of your task? What do you want to do? I
> need
>>> little more information about your problem.
>>> 
>>> -----Original Message-----
>>> From: mapguide-users-bounces at lists.osgeo.org
>>> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of sekko970
>>> Sent: Wednesday, February 18, 2009 11:42 AM
>>> To: mapguide-users at lists.osgeo.org
>>> Subject: RE: [mapguide-users] Create programmatically a map
>>> 
>>> 
>>> Hi Ivan,
>>> below, you can see my code to create the new map: 
>>> 
>>> Dim resID As New
>>> MgResourceIdentifier(Library://.../maps/MyMap.MapDefinition) 
>>> Dim enc As New System.Text.UTF8Encoding(False) 
>>> Dim newMapDef As New
>> MgByteSource(enc.GetBytes(XMLMapTemplate.OuterXml),
>>> enc.GetByteCount(XMLMapTemplate.OuterXml)) 
>>> newMapDef.SetMimeType(MgMimeType.Xml) 
>>> Dim resourceSrvc As MgResourceService =
>>> siteConn.CreateService(MgServiceType.ResourceService) 
>>> resourceSrvc.SetResource(resID, newMapDef.GetReader(), Nothing) 
>>> Dim map As New MgMap() 
>>> map.Create(resourceSrvc, resID, MapName) 
>>> 
>>> ... 
>>> 
>>> Then, this is my code to create the map layout: 
>>> Dim resID As New
>>> MgResourceIdentifier(Library://.../Layouts/MyMap.WebLayout) 
>>> Dim enc As New System.Text.UTF8Encoding(False) 
>>> Dim newLayoutDef As New
>>> MgByteSource(enc.GetBytes(XMLLayoutTemplate.OuterXml),
>>> enc.GetByteCount(XMLLayoutTemplate.OuterXml)) 
>>> newLayoutDef.SetMimeType(MgMimeType.Xml) 
>>> resourceSrvc As MgResourceService =
>>> siteConn.CreateService(MgServiceType.ResourceService) 
>>> resourceSrvc.SetResource(resID, newLayoutDef.GetReader(), Nothing) 
>>> map.Save(resourceSrvc) 
>>> 
>>> Perhaps between map and layout creation I should refresh the mapframe
>> as
>>> suggested from you?
>>> 
>>> Thanks in advance for your help.
>>> Fabio
>>> 
>>>
>>
> ------------------------------------------------------------------------
>>> ------------------------------
>>> 
>>> 
>>> Ivan Milicevic wrote:
>>>> 
>>>> Can you provide us code sample?
>>>> 
>>>> -----Original Message-----
>>>> From: mapguide-users-bounces at lists.osgeo.org
>>>> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of
> sekko970
>>>> Sent: Wednesday, February 18, 2009 10:38 AM
>>>> To: mapguide-users at lists.osgeo.org
>>>> Subject: RE: [mapguide-users] Create programmatically a map
>>>> 
>>>> 
>>>> Hi Ivan,
>>>> 
>>>> thanks for your suggestion, but my problem is not to refresh the
>>> viewer
>>>> to
>>>> show the map just created, but is the correct creation of new map
> and
>>>> layout.
>>>> 
>>>> I think to have found the origin of my problem, but I don't
>> understand
>>>> the
>>>> error:
>>>> 
>>>> Argument is null. Exception occurred in method
>>>> MgWebLayout.ParsePrintCommand
>>>> at line 880 in file
>>>>
>>>
>>
> c:\build_bond_area\bond_nightly\build_41.3\ent\os\web\src\webapp\WebLayo
>>>> ut.cpp 
>>>> 
>>>> Have you some idea?
>>>> Thanks, Fabio
>>>> 
>>>>
>>>
>>
> ------------------------------------------------------------------------
>>>> ------------------------------
>>>> 
>>>> 
>>>> Ivan Milicevic wrote:
>>>>> 
>>>>> Hello,
>>>>> 
>>>>> You can change href of mapFrame. Here is sample code.
>>>>> 
>>>>> var mapa = "cijevi"; //defines map name
>>>>> var stringMape = "Library%3a%2f%2fPROJEKTI%2fSUPRANET%2fMAPE%2f" +
>>>> mapa;
>>>>> var hrefMapa =
>>>>>
>>>>
>>>
>>
> "http://172.21.10.3/mapguide/mapviewernet/mapframe.aspx?MAPDEFINITION="
>>>>> + stringMape +
>>>>>
>>>>
>>>
>>
> ".MapDefinition&amp;TYPE=HTML&amp;SHOWLEGEND=0&amp;SHOWPROP=0&amp;INFOWI
>>>>>
>>>>
>>>
>>
> DTH=0&amp;LOCALE=en&amp;HLTGT=1&amp;HLTGTNAME=&amp;SHOWSLIDER=0&amp;SESS
>>>>> ION=" + mgSessionId + ";
>>>>> 
>>>>> //changing mapFrame href
>>>>> mapFrame.location.href = hrefMapa;
>>>>> 
>>>>> 
>>>>> Hope this helps.
>>>>> 
>>>>> -----Original Message-----
>>>>> From: mapguide-users-bounces at lists.osgeo.org
>>>>> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of
>> sekko970
>>>>> Sent: Wednesday, February 18, 2009 9:57 AM
>>>>> To: mapguide-users at lists.osgeo.org
>>>>> Subject: Re: [mapguide-users] Create programmatically a map
>>>>> 
>>>>> 
>>>>> Hi Kenneth,
>>>>> I need again your help about my problem.
>>>>> 
>>>>> I think the problem is that after new map run-time creation in
>>> library
>>>>> repository, I cannot use its map definition to create its web
>> layout.
>>>>> 
>>>>> How can I assign the new map to the layout?
>>>>> 
>>>>> Thanks again, Fabio
>>>>> 
>>>>>
>>>>
>>>
>>
> ------------------------------------------------------------------------
>>>>> ------------------------------
>>>>> 
>>>>> 
>>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>>> 
>>>>>> Try to look at the Maestro code:
>>>>>>
>>>>>
>>>>
>>>
>>
> http://trac.osgeo.org/mapguide/browser/trunk/Tools/Maestro/MaestroAPI/Lo
>>>>> calNativeConnection.cs#L182
>>>>>> 
>>>>>> Hopefully you will find a small difference there.
>>>>>> 
>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> sekko970 skrev:
>>>>>>> Yes, the "OuterXml" property contains the XML header line.
>>>>>>> Fabio
>>>>>>>
>>>>>>>
>>>>>
>>>>
>>>
>>
> ------------------------------------------------------------------------
>>>>> ------------------------------
>>>>>>>
>>>>>>>
>>>>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>>>>   
>>>>>>>> Does the "OuterXml" property contain the <? version="1.0" 
>>>>>>>> encoding="utf-8" standalone="true" ?> line?
>>>>>>>>
>>>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> sekko970 skrev:
>>>>>>>>     
>>>>>>>>> Hi Kenneth, and thanks for your promptly reply.
>>>>>>>>>
>>>>>>>>> I had used an ancoding instance.
>>>>>>>>>
>>>>>>>>> Below, you can see my code to create the new map:
>>>>>>>>>
>>>>>>>>> Dim resID As New
>>>>>>>>> MgResourceIdentifier(Library://.../maps/MyMap.MapDefinition)
>>>>>>>>>
>>>>>>>>> Dim enc As New System.Text.UTF8Encoding(False)
>>>>>>>>>
>>>>>>>>> Dim newMapDef As New
>>>>>>>>> MgByteSource(enc.GetBytes(XMLMapTemplate.OuterXml),
>>>>>>>>> enc.GetByteCount(XMLMapTemplate.OuterXml))
>>>>>>>>>
>>>>>>>>> newMapDef.SetMimeType(MgMimeType.Xml)
>>>>>>>>>
>>>>>>>>> Dim resourceSrvc As MgResourceService =
>>>>>>>>> siteConn.CreateService(MgServiceType.ResourceService)
>>>>>>>>>
>>>>>>>>> resourceSrvc.SetResource(resID, newMapDef.GetReader(), Nothing)
>>>>>>>>>
>>>>>>>>> Dim map As New MgMap()
>>>>>>>>>
>>>>>>>>> map.Create(resourceSrvc, resID, MapName)
>>>>>>>>>
>>>>>>>>> ...
>>>>>>>>>
>>>>>>>>> Then, this is my code to create the map layout:
>>>>>>>>>
>>>>>>>>> Dim resID As New
>>>>>>>>> MgResourceIdentifier(Library://.../Layouts/MyMap.WebLayout)
>>>>>>>>>
>>>>>>>>> Dim enc As New System.Text.UTF8Encoding(False)
>>>>>>>>>
>>>>>>>>> Dim newLayoutDef As New
>>>>>>>>> MgByteSource(enc.GetBytes(XMLLayoutTemplate.OuterXml),
>>>>>>>>> enc.GetByteCount(XMLLayoutTemplate.OuterXml))
>>>>>>>>>
>>>>>>>>> newLayoutDef.SetMimeType(MgMimeType.Xml)
>>>>>>>>>
>>>>>>>>> resourceSrvc As MgResourceService =
>>>>>>>>> siteConn.CreateService(MgServiceType.ResourceService)
>>>>>>>>>
>>>>>>>>> resourceSrvc.SetResource(resID, newLayoutDef.GetReader(),
>>> Nothing)
>>>>>>>>>
>>>>>>>>> map.Save(resourceSrvc)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks for your help.
>>>>>>>>> Fabio
>>>>>>>>>
>>>>>>>>>
>>>>>
>>>>
>>>
>>
> ------------------------------------------------------------------------
>>>>> ------------------------------
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>>>>>>   
>>>>>>>>>       
>>>>>>>>>> You could have the problem that .Net emits an utf-8
>>>>> byte-order-marker 
>>>>>>>>>> (BOM), when
>>>>>>>>>> writing xml.
>>>>>>>>>> http://en.wikipedia.org/wiki/Byte-order_mark
>>>>>>>>>>
>>>>>>>>>> To counter this, explicitly create an encoding instance:
>>>>>>>>>> System.Text.Encoding enc = new
> System.Text.UTF8Encoding(false);
>>>>>>>>>>
>>>>>>>>>> Then implement a xml writer, or manually convert the xml to
>>>> bytes,
>>>>>>>>>> using 
>>>>>>>>>> the encoding.
>>>>>>>>>>
>>>>>>>>>> FYI, the MaestroAPI is LGPL, and so you may use it as a
>> library,
>>>>> even 
>>>>>>>>>> for commercial applications,
>>>>>>>>>> and it handles this quirk and others.
>>>>>>>>>>
>>>>>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> sekko970 skrev:
>>>>>>>>>>     
>>>>>>>>>>         
>>>>>>>>>>> Dear all,
>>>>>>>>>>>
>>>>>>>>>>> I have created programmatically a map (and its layout) using
>> MG
>>>>> .Net
>>>>>>>>>>> web
>>>>>>>>>>> API.
>>>>>>>>>>> After creation, the new map and layout are visible in MG
>>>> Maestro,
>>>>> and
>>>>>>>>>>> using
>>>>>>>>>>> the 'Show in browser" button are correctly shown in browser.
>>>>>>>>>>>
>>>>>>>>>>> The problem happens when I load the map directly from
> browser,
>>>>> and
>>>>>>>>>>> the
>>>>>>>>>>> following error appears:
>>>>>>>>>>> << The type 'OSGeo.MapGuide.MgNullArgumentException' in
>>> assembly
>>>>>>>>>>> 'MapGuideDotNetApi, Version= 2.0.2.30 11, Culture=neutral,
>>>>>>>>>>> PublicKeyToken=null' is not marked as serializable >>.
>>>>>>>>>>>
>>>>>>>>>>> Then, simply saving the new layout from MG Maestro (without
>> any
>>>>>>>>>>> modification), and reloading the map directly from browser,
>> the
>>>>> error
>>>>>>>>>>> disappears and the map is correctly shown.
>>>>>>>>>>>
>>>>>>>>>>> After saving the layout, there aren't differences in map and
>>>>> layout
>>>>>>>>>>> XML
>>>>>>>>>>> definitions.
>>>>>>>>>>>
>>>>>>>>>>> Have you any idea about?
>>>>>>>>>>> Thank you in advance.
>>>>>>>>>>> Fabio
>>>>>>>>>>>
>>>>>>>>>>>   
>>>>>>>>>>>       
>>>>>>>>>>>           
>>>>>>>>>> _______________________________________________
>>>>>>>>>> mapguide-users mailing list
>>>>>>>>>> mapguide-users at lists.osgeo.org
>>>>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>     
>>>>>>>>>>         
>>>>>>>>>   
>>>>>>>>>       
>>>>>>>> _______________________________________________
>>>>>>>> mapguide-users mailing list
>>>>>>>> mapguide-users at lists.osgeo.org
>>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>>>>
>>>>>>>>
>>>>>>>>     
>>>>>>>
>>>>>>>   
>>>>>> 
>>>>>> _______________________________________________
>>>>>> mapguide-users mailing list
>>>>>> mapguide-users at lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>>> 
>>>>>> 
>>>>> 
>>>>> -- 
>>>>> View this message in context:
>>>>>
>>>>
>>>
>>
> http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2345737.htm
>>>>> l
>>>>> Sent from the MapGuide Users mailing list archive at Nabble.com.
>>>>> 
>>>>> _______________________________________________
>>>>> mapguide-users mailing list
>>>>> mapguide-users at lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>> _______________________________________________
>>>>> mapguide-users mailing list
>>>>> mapguide-users at lists.osgeo.org
>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>> 
>>>>> 
>>>> 
>>>> -- 
>>>> View this message in context:
>>>>
>>>
>>
> http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2345874.htm
>>>> l
>>>> Sent from the MapGuide Users mailing list archive at Nabble.com.
>>>> 
>>>> _______________________________________________
>>>> mapguide-users mailing list
>>>> mapguide-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>> _______________________________________________
>>>> mapguide-users mailing list
>>>> mapguide-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>> 
>>>> 
>>> 
>>> -- 
>>> View this message in context:
>>>
>>
> http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2346122.htm
>>> l
>>> Sent from the MapGuide Users mailing list archive at Nabble.com.
>>> 
>>> _______________________________________________
>>> mapguide-users mailing list
>>> mapguide-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>> _______________________________________________
>>> mapguide-users mailing list
>>> mapguide-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>> 
>>> 
>> 
>> -- 
>> View this message in context:
>>
> http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2346216.htm
>> l
>> Sent from the MapGuide Users mailing list archive at Nabble.com.
>> 
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>> 
>> 
> 
> -- 
> View this message in context:
> http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2346367.htm
> l
> Sent from the MapGuide Users mailing list archive at Nabble.com.
> 
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
> 
> 

-- 
View this message in context: http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2346704.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list