describeNamedLayers

Beschreibung

Dieser Vorgang nutzt eine Layer-Liste als Eingabe in der Anforderung und gibt die Beschreibung dieser Layer zurück.

ACL-Autorisierungsfluss

Um die Beschreibung der Layer zurückzugeben, benötigt der Benutzer (oder alle Rollen, zu denen er gehört) wie folgt die Ausführungsberechtigung für die benannten Layer:

  • „EXECUTE“ für den Entitätstyp „Location Intelligence.Named Resources“

Nachrichten

In der folgenden Tabelle sind die Anforderungs- und Antwortnachrichten für den Vorgang describeNamedLayers aufgelistet.

Klicken Sie auf einen Nachrichtennamen, um mehr Informationen zu dieser Nachricht zu erhalten.

Nachricht Beschreibung
DescribeNamedLayersRequest Die Anforderungsnachricht für den Vorgang describeNamedLayers.
DescribeNamedLayersResponse Die Antwortnachricht für den Vorgang describeNamedLayers.

Beispiele

Beispiel für SOAP-Anforderung:

<?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>

Beispiel für SOAP-Antwort:

Die Antwort enthält die Renderbarkeit des Layers als „wahr“ oder „falsch“ je nach Sichtbarkeitseinstellung für den Layer. Dies unterscheidet sich von RenderMapRequest , wo die Sichtbarkeitseinstellungen in den Layern ignoriert werden.

Beachten Sie, dass Spectrum Spatial einen Fehler als Teil der Antwort zurückgibt, wenn keine Ressource gefunden werden kann.


<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>
Beispiel für einen SOAP-Stub für 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();
		}
	}
}

				
Beispiel für einen SOAP-Stub für .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;
        }
    }
}