Wsdl-port-type

提供:Dev Guides
移動先:案内検索

WSDL-<portType>要素

*<portType>* 要素は、複数のメッセージ要素を組み合わせて、一方向または往復の完全な操作を形成します。

たとえば、 <portType> は、1つの要求と1つの応答メッセージを1つの要求/応答操作に結合できます。 これは、SOAPサービスで最も一般的に使用されています。 portTypeは複数の操作を定義できます。

WSDLの例の章からコードの一部を取りましょう-

<portType name = "Hello_PortType">
   <operation name = "sayHello">
      <input message = "tns:SayHelloRequest"/>
      <output message = "tns:SayHelloResponse"/>
   </operation>
</portType>
  • portType要素は、_sayHello_と呼ばれる単一の操作を定義します。
  • 操作は、単一の入力メッセージ_SayHelloRequest_と *出力メッセージ_SayHelloResponse_。

動作パターン

WSDLは、操作の4つの基本パターンをサポートしています-

一方通行

サービスはメッセージを受信します。 したがって、操作には単一の_input_要素があります。 一方向の操作の文法は-

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

リクエスト・レスポンス

サービスはメッセージを受信し、応答を送信します。 したがって、操作には1つの_input_要素があり、その後に1つの_output_要素が続きます。 エラーをカプセル化するために、オプションの_fault_要素も指定できます。 要求/応答操作の文法は次のとおりです-

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

要請応答

サービスはメッセージを送信し、応答を受信します。 したがって、操作には1つの_output_要素があり、その後に1つの_input_要素が続きます。 エラーをカプセル化するために、オプションの_fault_要素も指定できます。 要請応答操作の文法は-

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

お知らせ

サービスはメッセージを送信します。 したがって、操作には単一の_output_要素があります。 以下は、通知操作の文法です-

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