WSDL - <portType> -Element

Das <portType> element kombiniert mehrere Nachrichtenelemente, um einen vollständigen Einweg- oder Hin- und Rückflugvorgang zu bilden.

Zum Beispiel a <portType>kann eine Anforderungs- und eine Antwortnachricht zu einer einzigen Anforderungs- / Antwortoperation kombinieren. Dies wird am häufigsten in SOAP-Diensten verwendet. Ein portType kann mehrere Operationen definieren.

Nehmen wir einen Code aus dem WSDL-Beispielkapitel -

<portType name = "Hello_PortType">
   <operation name = "sayHello">
      <input message = "tns:SayHelloRequest"/>
      <output message = "tns:SayHelloResponse"/>
   </operation>
</portType>
  • Das portType-Element definiert eine einzelne Operation mit dem Namen sayHello .

  • Die Operation besteht aus einer einzelnen Eingabenachricht SayHelloRequest und einer

  • Ausgabemeldung SayHelloResponse .

Betriebsmuster

WSDL unterstützt vier grundlegende Betriebsmuster:

Einweg

Der Dienst erhält eine Nachricht. Die Operation hat daher ein einziges Eingabeelement . Die Grammatik für eine Einwegoperation lautet -

<wsdl:definitions .... > 
   <wsdl:portType .... > *
      <wsdl:operation name = "nmtoken">
         <wsdl:input name = "nmtoken"? message = "qname"/>
      </wsdl:operation>
   </wsdl:portType >
</wsdl:definitions>

Anfrage-Antwort

Der Dienst empfängt eine Nachricht und sendet eine Antwort. Die Operation hat daher ein Eingabeelement , gefolgt von einem Ausgabeelement . Einzukapseln Fehler, ein optionales Fehler kann Element ebenfalls angegeben werden. Die Grammatik für eine Anfrage-Antwort-Operation lautet -

<wsdl:definitions .... >
   <wsdl:portType .... > *
      <wsdl:operation name = "nmtoken" parameterOrder = "nmtokens">
         <wsdl:input name = "nmtoken"? message = "qname"/>
         <wsdl:output name = "nmtoken"? message = "qname"/>
         <wsdl:fault name = "nmtoken" message = "qname"/>*
      </wsdl:operation>
   </wsdl:portType>
</wsdl:definitions>

Bitte um Antwort

Der Dienst sendet eine Nachricht und empfängt eine Antwort. Die Operation hat daher ein Ausgabeelement , gefolgt von einem Eingabeelement . Einzukapseln Fehler, ein optionales Fehler kann Element ebenfalls angegeben werden. Die Grammatik für eine Solicit-Response-Operation lautet -

<wsdl:definitions .... >
   <wsdl:portType .... > *
      <wsdl:operation name = "nmtoken" parameterOrder = "nmtokens">
         <wsdl:output name = "nmtoken"? message = "qname"/>
         <wsdl:input name = "nmtoken"? message = "qname"/>
         <wsdl:fault name = "nmtoken" message = "qname"/>*
      </wsdl:operation>
   </wsdl:portType >
</wsdl:definitions>

Benachrichtigung

Der Dienst sendet eine Nachricht. Die Operation hat daher ein einzelnes Ausgabeelement . Es folgt die Grammatik für eine Benachrichtigungsoperation -

<wsdl:definitions .... >
   <wsdl:portType .... > *
      <wsdl:operation name = "nmtoken">
         <wsdl:output name = "nmtoken"? message = "qname"/>
      </wsdl:operation>
   </wsdl:portType>
</wsdl:definitions>