BPEL プロセス用ヘルパー・クラスの作成 (Java Web サービス)

具象 API 要求 (sendMessagecall など) で参照されるビジネス・オブジェクトでは、クライアント・アプリケーションが「document/literal wrapped」 スタイル・エレメントを使用する必要があります。クライアント・アプリケーションは、 ヘルパー・クラスに、必要なラッパー・エレメントの生成を担当させます。

始める前に

ヘルパー・クラスを作成するには、Web サービス API の WSDL ファイルを、WebSphere® Process Server 環境からエクスポートしておく必要があります。

このタスクを実行する理由と実行時期

Web サービス API の call() 命令や sendMessage() 命令を実行すると 、WebSphere Process Server 上で 、BPEL プロセスとの対話ができるようになります。call() 命令の入力メッセージは 、プロセスの入力メッセージの document/literal ラッパーが提供されると予想します。
BPEL プロセスまたはヒューマン・タスク用のヘルパー・クラスを生成するには、次のようないくつかの技法があります。
  1. SoapElement オブジェクトを使用します。

    WebSphere Integration Developer で使用可能な Rational Application Developer 環境では、Web サービス・エンジンが JAX-RPC 1.1 をサポートします。JAX-RPC 1.1 では、SoapElement オブジェクトが Document Object Model (DOM) エレメントを拡張するため、DOM API を使用した SOAP メッセージの作成、読み取り、ロード、および保管が可能になりました。

    例えば、ワークフロー・プロセスまたはヒューマン・タスク用として以下の入力メッセージが WSDL ファイルに含まれることを想定してみます。
    <xsd:element name="operation1">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="input1" nillable="true" type="xsd:string"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
    DOM API を使用して対応する SOAP を作成するには、次のようにします。
    SOAPFactory soapfactoryinstance = SOAPFactory.newInstance();
    SOAPElement soapmessage = soapfactoryinstance.createElement
                              ("operation1", namespaceprefix, interfaceURI);
    SOAPElement inputelement = soapfactoryinstance.createElement("input1");
    inputelement.addTextNode( message value);
    soapmessage.addChildElement(outputelement);
    以下の例では、sendMessage 操作用の入力パラメーターを作成する方法を示します。
    SendMessage inWsend = new SendMessage();
    inWsend.setProcessTemplateName(processtemplatename);
    inWsend.setPortType(porttype);
    inWsend.setOperation(operationname);
    inWsend.set_any(soapmessage);
  2. WebSphere Custom Data Binding 機能を使用します。
    この技法は、以下の developerWorks 記事に記載されています。
関連タスク
ビジネス・オブジェクトのエクスポート

(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。