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/LocalNativeConnection.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.html 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