Very interesting... Can you check mapguide error log? Is there any records related with this problem?
-----Original Message----- From: mapguide-users-boun...@lists.osgeo.org [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of sekko970 Sent: Wednesday, February 18, 2009 12:41 PM To: mapguide-users@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-boun...@lists.osgeo.org > [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of sekko970 > Sent: Wednesday, February 18, 2009 12:05 PM > To: mapguide-users@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-boun...@lists.osgeo.org >> [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of sekko970 >> Sent: Wednesday, February 18, 2009 11:42 AM >> To: mapguide-users@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-boun...@lists.osgeo.org >>> [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of sekko970 >>> Sent: Wednesday, February 18, 2009 10:38 AM >>> To: mapguide-users@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&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: mapguide-users-boun...@lists.osgeo.org >>>> [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of > sekko970 >>>> Sent: Wednesday, February 18, 2009 9:57 AM >>>> To: mapguide-users@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@lists.osgeo.org >>>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> mapguide-users mailing list >>>>>>> mapguide-users@lists.osgeo.org >>>>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> mapguide-users mailing list >>>>> mapguide-users@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@lists.osgeo.org >>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>> _______________________________________________ >>>> mapguide-users mailing list >>>> mapguide-users@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@lists.osgeo.org >>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>> _______________________________________________ >>> mapguide-users mailing list >>> mapguide-users@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@lists.osgeo.org >> http://lists.osgeo.org/mailman/listinfo/mapguide-users >> _______________________________________________ >> mapguide-users mailing list >> mapguide-users@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@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapguide-users > _______________________________________________ > mapguide-users mailing list > mapguide-users@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@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapguide-users _______________________________________________ mapguide-users mailing list mapguide-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapguide-users