[mapguide-users] XML Parser error for Feature Sources

Kenneth Skovhede, GEOGRAF A/S ks at geograf.dk
Tue Dec 2 10:41:39 EST 2008


I have now added a small note on the page hinting the solution.

Regards, Kenneth Skovhede, GEOGRAF A/S



Greenhough, Jamie skrev:
> Thanks for the tip about Maestro chm file. I had the same problems until
> I 'Unblocked' the file just now.!
>
> -----Original Message-----
> From: mapguide-users-bounces at lists.osgeo.org
> [mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of cagray
> Sent: Tuesday, December 02, 2008 1:29 AM
> To: mapguide-users at lists.osgeo.org
> Subject: Re: [mapguide-users] XML Parser error for Feature Sources
>
>
> Thats works great.
>
> I had written a web app which allows a user to completely customise the
> appearances of layers. Behind the scenes it just edits the xml but I
> suspect
> the MaestroAPI could do this all for me without me touching the xml. I
> need
> to look into it more as I need to be able to save to both session and
> library and always show the updates on a live map however the MaestroAPI
> looks ideal.  
>
> The help chm file, I can download fine but when I do, any links I try
> and
> open just come up with 'The address is not valid'. However turns out
> this is
> an intended security feature of IE. Basically to fix it all you have to
> do
> is right click on the chm file, go to properties and then click Unblock
> and
> it works. (Just in case anyone else has had the same issue)
>
> Thanks for all your help!
> Colin
>
>
> Kenneth Skovhede, GEOGRAF A/S wrote:
>   
>> You have to initialize the parameter collection manually:
>> fs.Parameter = new MaestroAPI.NameValuePairTypeCollection();
>> (I forgot to mention that).
>>
>> I just tried to download MaestroAPI.chm, and the link works for me:
>>
>>     
> http://trac.osgeo.org/mapguide/browser/trunk/Tools/Maestro/MaestroAPI/Do
> cumentation/Msdn-Chm/MaestroAPI.chm?format=raw
>   
>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>
>>
>>
>> cagray skrev:
>>     
>>> I tried your example and I always get an error of:
>>>
>>> Object reference not set to an instance of an object.
>>>
>>> when I do:
>>>
>>>  fs.Parameter["DefaultFilePath"] = "C:\my.shp";
>>>
>>> or other similar attempts for other providers. If I take this line
>>>       
> out it
>   
>>> creates the resource no problem. Do you know why this would happen?
>>>
>>> Also I tried to download the help (MaestroAPI.chm) off the website
>>>       
> but
>   
>>> none
>>> of the help links work. Have I done something daft? 
>>>
>>> Any help is appreciated.
>>> Colin
>>>
>>>
>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>   
>>>       
>>>> Yes, you can do just that.
>>>> Look in the Maestro source code to see how it's done.
>>>> The files "ResourceEditors/ResourceEditorBase.cs"  and 
>>>> "ResourceEditors/ResourceEditorGeneric.cs" shows it.
>>>> Some more customized versions are avalible in eg
>>>> "FeatureSourceEditorSDF.cs"
>>>>
>>>> Basically you can do:
>>>>     MaestroAPI.ServerConnectionI con; //You must initialize this,
>>>>         
> see 
>   
>>>> the developer docs
>>>>     MaestroAPI.FeatureSource fs = new MaestroAPI.FeatureSource();
>>>>     fs.Provider = "OSGeo.SHP.3.1";
>>>>     fs.Parameter["DefaultFilePath"] = "C:\my.shp";
>>>>     con.SaveResourceAs(fs, new MaestroAPI.ResourceIdentifier("my
>>>>         
> fs", 
>   
>>>> OSGeo.MapGuide.MaestroAPI.ResourceTypes.FeatureSource));
>>>>
>>>>
>>>> As for your actual problem, does the server error log show anything?
>>>> C:\program files\Mapguideopensource2.0\server\logs\error.log
>>>>
>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>
>>>>
>>>>
>>>> cagray skrev:
>>>>     
>>>>         
>>>>> Thanks for the reply. Unfortunately that did not solve my problem
>>>>>           
> and I
>   
>>>>> got
>>>>> the same error. Is there anything else I could try?
>>>>>
>>>>> I was not aware you could do this without generating/manipulating
>>>>>           
> the
>   
>>>>> xml.
>>>>> My web tool has to fully control setting up data sources. So the
>>>>>           
> user
>   
>>>>> selects a provider and then fills in the connection details. I then
>>>>> need
>>>>> to
>>>>> create a new data source from this to be stored in mapguide. Can
>>>>>           
> you do
>   
>>>>> this
>>>>> using the Meastro API alone? 
>>>>>
>>>>>
>>>>> Kenneth Skovhede, GEOGRAF A/S wrote:
>>>>>   
>>>>>       
>>>>>           
>>>>>> I believe the problem is the .Net UTF-8 Encoder prefixes an UTF-8
>>>>>>             
> BOM,
>   
>>>>>> which causes problems in the Xml parser:
>>>>>> http://trac.osgeo.org/mapguide/ticket/233
>>>>>>
>>>>>> You can try to create the UTF-8 encoder with:
>>>>>>
>>>>>> UTF8Encoding utf8 = new UTF8Encoding(false);
>>>>>>
>>>>>>
>>>>>> And see if the problem goes away.
>>>>>> Alternatively you can use the MaestroAPI instead of messing with
>>>>>>             
> the
>   
>>>>>> raw 
>>>>>> Xml:
>>>>>> http://trac.osgeo.org/mapguide/wiki/maestro/MaestroAPI
>>>>>>
>>>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>>>
>>>>>>
>>>>>>     
>>>>>>         
>>>>>>             
>>>> _______________________________________________
>>>> 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
>>
>>
>>     
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20081202/fd2926c5/attachment.html


More information about the mapguide-users mailing list