[mapguide-users] XML Parser error for Feature Sources

Kenneth Skovhede, GEOGRAF A/S ks at geograf.dk
Mon Dec 1 15:56:42 EST 2008


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/Documentation/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
>>
>>
>>     
>
>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20081201/05c9f30c/attachment.html


More information about the mapguide-users mailing list