Maison  >  Article  >  développement back-end  >  Description du schéma XML-WSD

Description du schéma XML-WSD

黄舟
黄舟original
2017-03-14 16:17:342137parcourir

Le

Web Services Description Language (Web Services Description Language, WSDL) fournit un moyen simple de décrire les services Web (principalement en utilisant SOAP). WSDL permet de décrire les services et les interfaces fournis à l'aide du standard SOAP. Par exemple, vous pouvez créer un fichier WSDL qui décrit les services fournis sur un certain serveur, puis distribuer le fichier aux services Web qui ont besoin de ces services. Le langage WSDL (Web Services Description Language) fournit un moyen de décrire les services Web (. principalement en utilisant SOAP). WSDL permet de décrire les services et interfaces fournis par le standard SOAP.
Par exemple, vous pouvez créer un fichier WSDL qui décrit les services fournis sur un serveur, puis distribuer le fichier aux consommateurs de services Web qui ont besoin de ces services. En lisant et en analysant les fichiers WSDL, les consommateurs apprennent tout ce qu'ils doivent savoir pour utiliser ces services Web, y compris les
types de données qui peuvent être échangés, les paramètres et les diverses erreurs et autres informations renvoyées. En reprenant l'exemple du
W3C, vous pouvez voir que la déclaration des différentes fonctions distantes et les données échangées sont gérées via la définition XML du structure, comme le montre le listing 3.
Listing 3. Définitions XML des différentes fonctions distantes et données échangées
structure de données.
Tout ce dont vous avez besoin pour accéder à la structure SOAP sur le serveur se trouve dans ce WSDL. La plupart des langages et environnements fournissent un mécanisme de lecture et d'analyse WSDL pour déterminer les fonctions et échanges de données disponibles.

WSDL définit non seulement l'interface SOAP pour l'échange d'informations, mais avec le générateur WSDL approprié, peut également être utilisé pour créer le code nécessaire pour envoyer des requêtes et générer et formater des réponses.
 <?xml version="1.0"?>



<!-- root element wsdl:definitions defines set of related services -->

<wsdl:definitions name="EndorsementSearch"

  targetNamespace="http://namespaces.snowboard-info.com"

  xmlns:es="http://www.snowboard-info.com/EndorsementSearch.wsdl"

  xmlns:esxsd="http://schemas.snowboard-info.com/EndorsementSearch.xsd"

  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">



  <!-- wsdl:types encapsulates schema definitions of communication types; 

                                                       here using xsd -->

  <wsdl:types>



    <!-- all type declarations are in a chunk of xsd -->

    <xsd:schema targetNamespace="http://namespaces.snowboard-info.com"

      xmlns:xsd="http://www.w3.org/1999/XMLSchema">



      <!-- xsd definition: GetEndorsingBoarder [manufacturer string, 

                                                        model string] -->

      <xsd:element name="GetEndorsingBoarder">

  <xsd:complexType>

    <xsd:sequence>

      <xsd:element name="manufacturer" type="string"/>

            <xsd:element name="model" type="string"/>

    </xsd:sequence>

  </xsd:complexType>

      </xsd:element>



      <!-- xsd definition: GetEndorsingBoarderResponse 

[... endorsingBoarder string ...] -->

      <xsd:element name="GetEndorsingBoarderResponse">

  <xsd:complexType>

    <xsd:all>

      <xsd:element name="endorsingBoarder" type="string"/>

    </xsd:all>

  </xsd:complexType>

      </xsd:element>



      <!-- xsd definition: GetEndorsingBoarderFault 

[... errorMessage string ...] -->

      <xsd:element name="GetEndorsingBoarderFault">

  <xsd:complexType>

    <xsd:all>

      <xsd:element name="errorMessage" type="string"/>

    </xsd:all>

  </xsd:complexType>

      </xsd:element>



    </xsd:schema>

  </wsdl:types>



  <!-- wsdl:message elements describe potential transactions -->



  <!-- request GetEndorsingBoarderRequest is of type GetEndorsingBoarder -->

  <wsdl:message name="GetEndorsingBoarderRequest">

    <wsdl:part name="body" element="esxsd:GetEndorsingBoarder"/>

  </wsdl:message>



  <!-- response GetEndorsingBoarderResponse is of type 

                                       GetEndorsingBoarderResponse -->

  <wsdl:message name="GetEndorsingBoarderResponse">

    <wsdl:part name="body" element="esxsd:GetEndorsingBoarderResponse"/>

  </wsdl:message>



  <!-- wsdl:portType describes messages in an operation -->

  <wsdl:portType name="GetEndorsingBoarderPortType">



    <!-- the value of wsdl:operation eludes me -->

    <wsdl:operation name="GetEndorsingBoarder">

      <wsdl:input message="es:GetEndorsingBoarderRequest"/>

      <wsdl:output message="es:GetEndorsingBoarderResponse"/>

      <wsdl:fault message="es:GetEndorsingBoarderFault"/>

    </wsdl:operation>

  </wsdl:portType>



  <!-- wsdl:binding states a serialization protocol for this service -->

  <wsdl:binding name="EndorsementSearchSoapBinding"

                type="es:GetEndorsingBoarderPortType">



    <!-- leverage off soap:binding document style ...(no wsdl:foo pointing at 

the soap binding) -->

    <soap:binding style="document"

                  transport="http://schemas.xmlsoap.org/soap/http"/>



    <!-- semi-opaque container of network transport details classed by 

soap:binding above ... -->

    <wsdl:operation name="GetEndorsingBoarder">



      <!-- again bind to SOAP? ... -->

      <soap:operation soapAction="http://www.snowboard-info.com/

EndorsementSearch"/>



      <!-- further specify that the messages in the wsdl:operation 

"GetEndorsingBoarder" use SOAP? ... -->

      <wsdl:input>

        <soap:body use="literal"

       namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd"/>

      </wsdl:input>

      <wsdl:output>

        <soap:body use="literal"

       namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd"/>

      </wsdl:output>

      <wsdl:fault>

        <soap:body use="literal"

       namespace="http://schemas.snowboard-info.com/EndorsementSearch.xsd"/>

      </wsdl:fault>

    </wsdl:operation>

  </wsdl:binding>



  <!-- wsdl:service names a new service "EndorsementSearchService" -->

  <wsdl:service name="EndorsementSearchService">

    <wsdl:documentation>snowboarding-info.com Endorsement Service</

wsdl:documentation> 



    <!-- connect it to the binding "EndorsementSearchSoapBinding" above -->

    <wsdl:port name="GetEndorsingBoarderPort"

               binding="es:EndorsementSearchSoapBinding">



      <!-- give the binding an network address -->

      <soap:address location="http://www.snowboard-info.com/EndorsementSearch"/>

    </wsdl:port>

  </wsdl:service>



 </wsdl:definitions>
WSDL et SOAP forment un puissant système d'appel de procédure à distance.                                                                                                                                                   

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn