describeNamedLayers

Description

Cette opération prend une liste de couches en entrée dans la requête et renvoie la description de ces couches.

Flux d'autorisation ACL

Pour renvoyer la description des couches, l'utilisateur (ou les rôles auxquels il appartient) aura besoin de l'autorisation Execute sur les couches nommées de la manière suivante :

  • « EXECUTE » pour le type d'entité « Location Intelligence.Named Resources »

Messages

Le tableau suivant répertorie les messages de requête et de réponse de l'opération describeNamedLayers.

Pour obtenir plus d'informations sur un message, cliquez sur son nom.

Message Description
DescribeNamedLayersRequest Message de requête de l'opération describeNamedLayers.
DescribeNamedLayersResponse Message de réponse de l'opération describeNamedLayers.

Exemples

Échantillon de requête SOAP :

<?xml version="1.0"?>   
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:v1="http://www.mapinfo.com/midev/service/mapping/v1">   
       <S:Header/>   
       <S:Body>   
              <v1:DescribeNamedLayersRequest>   
                <v1:NamedLayerList> 
                     <v1:NamedLayer>/Samples/NamedLayers/LayerWithStyle</v1:NamedLayer>  
                     <v1:NamedLayer>/Samples/NamedLayers/LayerWithStyles</v1:NamedLayer>  
                     <v1:NamedLayer>/Samples/NamedLayers/LayerWithTable</v1:NamedLayer>  
                  </v1:NamedLayerList> 
              </v1:DescribeNamedLayersRequest>   
       </S:Body>   
</S:Envelope>

Échantillon de réponse SOAP :

La réponse inclut la présentabilité de la couche sur true ou false, selon le paramètre de visibilité de la couche. Ce comportement est différent de celui de RenderMapRequest , qui ignore les paramètres de visibilité des couches.

Notez que Spectrum Spatial, renvoie une erreur dans le cadre de la réponse s’il ne peut pas trouver une ressource.


<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<DescribeNamedLayersResponse xmlns="http://www.mapinfo.com/midev/service/mapping/v1" xmlns:ns2="http://www.mapinfo.com/midev/service/mappingcommon/v1" xmlns:ns3="http://www.mapinfo.com/midev/service/table/v1" xmlns:ns4="http://www.mapinfo.com/midev/service/style/v1" xmlns:ns5="http://www.mapinfo.com/midev/service/featurecollection/v1" xmlns:ns6="http://www.mapinfo.com/midev/service/geometries/v1" xmlns:ns7="http://www.mapinfo.com/midev/service/theme/v1" xmlns:ns8="http://www.mapinfo.com/midev/service/common/v1" xmlns:ns9="http://www.mapinfo.com/midev/service/units/v1">
		    <DescribedNamedLayerList>
			<DescribedNamedLayer>
			    <Name>/Samples/NamedLayers/LayerWithStyle</Name>
			    <Layer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="FeatureLayer" renderable="true" description="USA Capitals">
				    <ns3:Table xsi:type="ns3:NamedTable" name="/Samples/NamedTables/USA_CAPS"/>
				<ThemeList>
				    <ns7:Theme xsi:type="ns7:OverrideTheme">
				        <ns4:Style xsi:type="ns4:NamedStyle" name="/Samples/NamedStyles/CompositeStyle1"/>
				    </ns7:Theme>
				</ThemeList>
			    </Layer>
			</DescribedNamedLayer>
			<DescribedNamedLayer>
			    <Name>/Samples/NamedLayers/LayerWithStyles</Name>
				<ErrorMessage>RepositoryEx_ResourceNotFound: Resource was not found - /Samples/NamedLayers/LayerWithStyles</ErrorMessage>
			</DescribedNamedLayer>
			<DescribedNamedLayer>
			    <Name>/Samples/NamedLayers/LayerWithTable</Name>
				<Layer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="FeatureLayer" renderable="true" description="United States">
				    <ns3:Table xsi:type="ns3:NamedTable" name="/Samples/NamedTables/USA"/>
				</Layer>
			</DescribedNamedLayer>
                    </DescribedNamedLayerList>
		</DescribeNamedLayersResponse>
	</soap:Body>
</soap:Envelope>
Échantillon stub SOAP pour Java :
package mapping.sample;

import mapping.utility.Preference;
import mapping.utility.PrintMappingResponse;

import com.mapinfo.midev.service.mapping.v1.DescribeNamedLayersRequest;
import com.mapinfo.midev.service.mapping.v1.DescribeNamedLayersResponse;
import com.mapinfo.midev.service.mapping.ws.v1.MappingServiceInterface;
import com.mapinfo.midev.service.mapping.ws.v1.ServiceException;

public class DescribeNamedLayers {

	private static DescribeNamedLayersRequest createDescribeNamedLayersRequest()
			throws Exception {
		DescribeNamedLayersRequest request = new DescribeNamedLayersRequest();
		request.getNamedLayer().add("/Samples/NamedLayers/LayerWithTableRangeTheme");
		request.getNamedLayer().add("/Samples/NamedLayers/WorldFeatureLayer");
		request.getNamedLayer().add("/DoesNotExist");
		return request;
	}

	public static void main(String[] args) {
		try {
			MappingServiceInterface mapping = Preference.getServiceinterface();
			DescribeNamedLayersRequest request = createDescribeNamedLayersRequest();
			DescribeNamedLayersResponse response = mapping.describeNamedLayers(request);
			PrintMappingResponse.printDescribeNamedLayersResponse(response);
		} catch (ServiceException se) {
			PrintMappingResponse.printError(se);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

				
Échantillon stub SOAP pour .NET :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
// FaultException
using System.ServiceModel;
using MappingSamples.MappingService;

namespace MappingSamples
{
    // This shows how to find information of the named layers that exist on the server.
    class DescribeNamedLayers
    {
        static void Main(string[] args)
        {
            try
            {
                // create the client to communicate to the service
                MappingServiceInterfaceClient client = Preference.getServiceInterface();

                // create the DescribeNamedLayerRequest.
                DescribeNamedLayersRequest request = createDescribeNamedLayersRequest();

                // call the DescribeNamedLayer function.
                DescribeNamedLayersResponse response = client.describeNamedLayers(request);
                Console.WriteLine("Layer information:");
                int count = 0;
                foreach(Layer layer in response.Layer){
                    count++;
                    Console.WriteLine("Layer [" + count + "] :");
                    PrintUtils.printLayer(layer);
                }
                if (response.Layer == null)
                {
                    Console.WriteLine("No Layers described.");
                }
            }
            catch (FaultException<MapInfoDeveloperException> ee)
            {
                String s = ee.Message;
                Console.Out.WriteLine("Service Error returned: " + s);
            }
            catch (Exception ex)
            {
                String e = ex.ToString();
                Console.Out.WriteLine("Error: " + ex.ToString());
            }
            Console.Read();
        }

        // This creates a DescribeNamedLayersRequest.
        private static DescribeNamedLayersRequest createDescribeNamedLayersRequest()
        {
            // create the DescribeNamedLayersRequest
            DescribeNamedLayersRequest req = new DescribeNamedLayersRequest();
            req.NamedLayer = new string[2];
            req.NamedLayer[0] = "/Samples/NamedLayers/UK_REGNS_Layer";
            req.NamedLayer[1] = "/Samples/NamedLayers/WorldFeatureLayer";            

            return req;
        }
    }
}