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 > > -- View this message in context: http://n2.nabble.com/Create-programmatically-a-map-tp2314238p2315090.html 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
