8.3.1 WSDLの作成に使用するビジネスプロセスの例

WSDLファイルの作成方法の説明に使用するビジネスプロセスの例の内容について説明します。

<この項の構成>
(1) ビジネスプロセスの例
(2) 電文フォーマットの内容の例

(1) ビジネスプロセスの例

WSDLの作成の例として使用するビジネスプロセスを次の図に示します。

図8-4 WSDLの作成の例として使用するビジネスプロセス

[図データ]

  1. サービスリクエスタがビジネスプロセスにサービス部品の実行を要求します。
  2. サービス部品の実行要求では,XMLの要求電文が送付されます。
  3. ビジネスプロセスはXMLの要求電文を受付1という受付アクティビティで受け取ります。このときのオペレーション名はoperation1です。
  4. 受付1には変数RequestMessageを割り当て,要求電文を規定する電文フォーマットとしてRequest.xsdが指定されています。
  5. ビジネスプロセスからサービス部品を呼び出します。フォルトが発生した場合は項番10.でフォルトが返されます。
  6. ビジネスプロセスが,サービス部品の実行結果をXMLの応答電文として構成し,応答1という応答アクティビティで返します。
  7. 応答1には変数ResponseMessageを割り当て,応答電文を規定する電文フォーマットとしてResponse.xsdが指定されています。
  8. サービスリクエスタへの応答が返されます。
  9. サービスリクエスタへの応答では,XMLの応答電文が送付されます。
  10. 項番5.でフォルトが発生した場合,応答2という応答アクティビティからfault1というフォルトが返されます。
  11. 応答2には変数FaultMessageを割り当て,フォルト電文を規定する電文フォーマットとしてFault.xsdが指定されています。
  12. サービスリクエスタにフォルト電文が送付されます。

(2) 電文フォーマットの内容の例

図8-4に示すビジネスプロセスで利用する電文フォーマットの例を次に示します。

Request.xsd
  • XMLスキーマソース
    文字列の値を持つ単一の要素<Request1>を規定する要求電文用の電文フォーマットです。

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema targetNamespace="http://www.example.org/request"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <xsd:element name="Request1" type="xsd:string" />
    </xsd:schema>

  • この電文フォーマットの規定に従って送付されるXML

    <Request1>Sample request message</Request1>

Response.xsd
  • XMLスキーマソース
    boolean値を持つ単一の要素<Response1>を規定する応答電文用の電文フォーマットです。

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema targetNamespace="http://www.example.org/response"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <xsd:element name="Response1" type="xsd:boolean" />
    </xsd:schema>

  • この電文フォーマットの規定に従って送付されるXML

    <Response1>true</Response1>

Fault.xsd
  • XMLスキーマソース
    <Fault1>という要素を規定し,さらにその子要素としてint値を持つ要素<param1>を規定するフォルト電文用の電文フォーマットです。

    <?xml version="1.0" encoding="UTF-8"?>
    <xsd:schema targetNamespace="http://www.example.org/service"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:svc="http://www.example.org/service">
     <xsd:element name="Fault1" type="svc:SampleData"/>
     <xsd:complexType name="SampleData">
       <xsd:sequence>
         <xsd:element name="param1" type="xsd:int"/>
       </xsd:sequence>
     </xsd:complexType>
    </xsd:schema>

  • この電文フォーマットの規定に従って送付されるXML

    <Fault1>
     <param1>123</param1>
    </Fault1>