I'm guessing that you must update repository after creating new layout. Look at http://mapguide.osgeo.org/files/mapguide/docs/2.0/d8/de1/class_mg_resour ce_service_e0294dc308ecc4708b79d493086f210b.htm
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of sekko970 Sent: Wednesday, February 18, 2009 2:01 PM To: [email protected] Subject: RE: [mapguide-users] Create programmatically a map 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//ne w.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//ne w.Map ------------------------------------------------------------------------ ------------------------------ Ivan Milicevic wrote: > > Very interesting... Can you check mapguide error log? Is there any > records related with this problem? > > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of sekko970 > Sent: Wednesday, February 18, 2009 12:41 PM > To: [email protected] > 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: [email protected] >> [mailto:[email protected]] On Behalf Of sekko970 >> Sent: Wednesday, February 18, 2009 12:05 PM >> To: [email protected] >> 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: [email protected] >>> [mailto:[email protected]] On Behalf Of sekko970 >>> Sent: Wednesday, February 18, 2009 11:42 AM >>> To: [email protected] >>> 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: [email protected] >>>> [mailto:[email protected]] On Behalf Of > sekko970 >>>> Sent: Wednesday, February 18, 2009 10:38 AM >>>> To: [email protected] >>>> 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&TYPE=HTML&SHOWLEGEND=0&SHOWPROP=0&INFOWI >>>>> >>>> >>> >> > DTH=0&LOCALE=en&HLTGT=1&HLTGTNAME=&SHOWSLIDER=0&SESS >>>>> ION=" + mgSessionId + "; >>>>> >>>>> //changing mapFrame href >>>>> mapFrame.location.href = hrefMapa; >>>>> >>>>> >>>>> Hope this helps. >>>>> >>>>> -----Original Message----- >>>>> From: [email protected] >>>>> [mailto:[email protected]] On Behalf Of >> sekko970 >>>>> Sent: Wednesday, February 18, 2009 9:57 AM >>>>> To: [email protected] >>>>> 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 >>>>>>>>>> [email protected] >>>>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> mapguide-users mailing list >>>>>>>> [email protected] >>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> mapguide-users mailing list >>>>>> [email protected] >>>>>> 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 >>>>> [email protected] >>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>> _______________________________________________ >>>>> mapguide-users mailing list >>>>> [email protected] >>>>> 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 >>>> [email protected] >>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>> _______________________________________________ >>>> mapguide-users mailing list >>>> [email protected] >>>> 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 >>> [email protected] >>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>> _______________________________________________ >>> mapguide-users mailing list >>> [email protected] >>> 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 >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/mapguide-users >> _______________________________________________ >> mapguide-users mailing list >> [email protected] >> 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 > [email protected] > http://lists.osgeo.org/mailman/listinfo/mapguide-users > _______________________________________________ > mapguide-users mailing list > [email protected] > http://lists.osgeo.org/mailman/listinfo/mapguide-users > > -- View this message in context: http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2346704.htm l Sent from the MapGuide Users mailing list archive at Nabble.com. _______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users _______________________________________________ mapguide-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapguide-users
