[mapguide-users] Resource data was not found

Robert Bray rbray at robertbray.net
Wed Oct 11 14:08:09 EDT 2006


This problem is not related to session timeout. MgMap.Open takes the 
name of the runtime map object, not a MapDefinition. Is this script 
invoked by an InvokeURL command? If so you should be getting the MAPNAME 
and SESSION parameters from the post data. The MAPNAME parameter should 
be passed into MgMap.Open as the second argument. The SESSION parameter 
should be used in the creation of MgUserInformation.

If you are not running this script from InvokeURL, then you need to call 
MgMap.Create instead, passing in an instance of MgResourceService, the 
resource id of the Map Definition, and name of the runtime instance of 
the map to create. There is no way to hook up a map created in this way 
back to the viewer however (or at least no way that I am aware of).

Bob


François Van Der Biest wrote:
> You might find a solution to your problem here : 
> http://www.nabble.com/How-to-check-if-session-is-expired--tf2218864.html#a6549987 
>
>
> It took me a lot of time to find this trick.
>
> F.
>
> Cory Gregor a écrit :
>> The code is blowing up on this line:  map.Open(ResourceService,
>> mgResourceID);
>> The browser is telling me " Resource datawas not found:  
>> RuntimeDataResource
>> data was not found: ....."
>>
>> Is the some IIS config problem maybe?  IIS 6 on Win2k3 Server.
>>
>> Here is the code...
>>
>>     //String mapDefinition =
>> "Library://Samples/FredWeber/Maps/Default.MapDefinition";
>>     //String webLayout = 
>> "Library://Samples/FredWeber/FredWeber.WebLayout";
>>     String sessionId = "";
>>     String NoLayers = "No Layers Selected";
>>
>>     try
>>     {
>>         MapGuideApi.InitializeSockets();
>>         InitializeWebTier();
>>
>>         MgUserInformation userInfo = new 
>> MgUserInformation("XXXX","YYYY");
>>         MgSite site = new MgSite();
>>
>>         site.Open(userInfo);
>>
>>         sessionId = site.CreateSession();
>>
>>         MgSiteConnection siteConnection = new MgSiteConnection();
>>         siteConnection.Open(userInfo);
>>
>>         MgResourceService ResourceService =
>> siteConnection.CreateService(MgServiceType.ResourceService) as
>> MgResourceService;
>>         MgFeatureService FeatureService =
>> siteConnection.CreateService(MgServiceType.FeatureService) as
>> MgFeatureService;
>>         MgFeatureQueryOptions QueryOptions = new 
>> MgFeatureQueryOptions();
>>
>>         MgResourceIdentifier mgResourceID = new
>> MgResourceIdentifier(mapDefinition);
>>                 MgMap map = new MgMap();
>>                 map.Open(ResourceService, mgResourceID);
>>         Response.Write("Got here");
>>         MgSelection selection = new MgSelection(map);
>>
>>         selection.Open(ResourceService, "map");
>>
>>         MgReadOnlyLayerCollection Layers = selection.GetLayers();
>>
>>         if (Layers.GetCount() > 0)
>>         {
>>             for (int i = 0; i < Layers.GetCount(); i++)
>>             {
>>
>>                 //Only check selected features in the Parcels layer.
>>
>>                 MgLayer Layer = Layers.GetItem(i);
>>
>>                 if (Layer != null && Layer.GetLayerDefinition() == new
>> MgResourceIdentifier("Default_Map Base_727(3)"))
>>                 {
>>                     //Create a filter containing the IDs of the 
>> selected                     //features on this layer
>>
>>                     string LayerClassName = Layer.GetFeatureClassName();
>>                     string selectionString = 
>> selection.GenerateFilter(Layer,
>> LayerClassName);
>>
>>                     //Get the feature resource for the selected layer
>>
>>                     string LayerFeatureId = Layer.GetFeatureSourceId();
>>                     MgResourceIdentifier LayerFeatureResource = new
>> MgResourceIdentifier(LayerFeatureId);
>>
>>                     //Apply the filter to the feature resource for 
>> the                     // selected layer. This returns
>>
>>
>>                     //an MgFeatureReader of all the selected features.
>>
>>                     QueryOptions.SetFilter(selectionString);
>>
>>                     MgFeatureReader FeatureReader =
>> FeatureService.SelectFeatures(LayerFeatureResource, LayerClassName,
>> QueryOptions);
>>
>>                     //Process each item in the MgFeatureReader, 
>> displaying
>> the                     //owner name and address
>>
>>                     while (FeatureReader.ReadNext())
>>                     {
>>
>>                         string val = 
>> FeatureReader.GetString("FeatureID");
>>
>>                         //FeatureReader.GetString("Layer");
>>
>>                         Response.Write(val);
>>
>>                     }
>>
>>                 }
>>
>>             }
>>
>>         }
>>
>>         else
>>         {
>>             Response.Write(NoLayers);
>>         }          
>>         MapGuideApi.TerminateSockets();
>>     }
>>     catch (MgException mge)
>>     {
>>         Response.Write(mge.GetMessage());
>>         Response.Write(mge.GetDetails());
>>         MapGuideApi.TerminateSockets();
>>     }
>>   
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: users-help at mapguide.osgeo.org
>





More information about the Mapguide-users mailing list