Hi David:

Thank you for your reply.
I try it referenced the Developer's Guide Version 1.2RC2.
And I modified my code in your way.
Then I got this exception :
OSGeo.MapGuide.MgUnclassifiedException: An unclassified exception occurred.

Error points to the first line :
   MgUserInformation userInfo = new MgUserInformation(mgSessionId);
   MgSiteConnection siteConnection = new MgSiteConnection();
   siteConnection.Open(userInfo);

I gather that in order to make changes permanent should be logined in
Administrator.
The codes look like this :

MgUserInformation userInfo = new MgUserInformation("Administrator",
"admin");
MgSiteConnection siteConnection = new MgSiteConnection();
siteConnection.Open(userInfo);
//Create a MgResourceService
MgResourceService resourceService = siteConnection.CreateService(
MgServiceType.ResourceService ) as MgResourceService;

And I got another exception :
OSGeo.MapGuide.MgInvalidArgumentException: Invalid argument(s):
[0] = " "
The string cannot be empty.

Error points to the first line:
// Open the map
MgMap map = new MgMap();
map.Open(resourceService, "Sheboygan");

So I refer to the developer's Guide, and created a session in this way :

MgSite site = siteConnection.GetSite();
string sessionID = site.CreateSession();
userInfo.SetMgSessionId(sessionID);

I use this session to create a MgResourceService to do some modifications.
But I get confusion in how to save the map.
I try 3 save methods, but I still got some error exceptions.

Could you provide me some specific method in how to create & save map status
permanently ?
Or, could you give me a complete code to demonstrate how to manipulate and
modify the data in the Library:// ?

Thank you for your help.

patrick


On 7/9/07, David Hequet <[EMAIL PROTECTED]> wrote:


To make changes permanent you have to work in Library repository insteed
of
Session repository,
here is a php sample, after a modification, we save the layer :

IN SESSION:
// modification here..
$byteSource = new MgByteSource($layerDefinition,strlen($layerDefinition));

$byteSource->SetMimeType(MgMimeType::Xml);
$resourceID = new
MgResourceIdentifier("Session:$mgSessionId//$layerName.LayerDefinition");
$resourceService->SetResource($resourceID,$byteSource->GetReader(), null);


PERMANENT:
// modification here...
$byteSource = new MgByteSource($layerDefinition,
strlen($layerDefinition));
$byteSource->SetMimeType(MgMimeType::Xml);
$resourceId =new
MgResourceIdentifier("Library://LayerName.LayerDefinition");
$resourceService->SetResource($resourceId, $byteSource->GetReader(),
null);

Just do it :)

_______________________________________________
mapguide-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapguide-users

Reply via email to