クラウドサーバーにデプロイしたプロセスの呼び出し 以降のトピックでは、クラウドサーバーにデプロイしたProcess DesignerプロセスおよびProcess Developerプロセスを呼び出す方法について説明します。
WebサービスとSOAPエンドポイント Process Designerは、自動生成されたWSDLインタフェースを通じてWebサービスを公開します。ここにアクセスして、SOAPエンドポイントとして使用できます。使用する各Webサービスには、アプリケーションサーバーでホストされているメソッドのセットが含まれており、これらは操作とも呼ばれます。これらのオペレーションは、クラウド上やネットワークを介してリモートで呼び出すことができます。
SOAPサービスURLを使用してクラウドサーバーにデプロイされたプロセスを呼び出すと、SOAPActionヘッダーはデフォルトでプロセス名に設定されます。ただし、ヘッダーに別の値を指定することもできます。SOAPエンドポイントの使用方法の詳細については、
SOAPエンドポイントのルールとガイドライン を参照してください。
操作が起動したら、SOAPメッセージを作成し、それを通常はHTTP/HTTPSを経由してWebサービスに送信します。SOAPは、一般的なXMLベースのメッセージングプロトコルで、情報を交換するために使用します。
Webサービスには、操作自体とそれらの起動方法を記述したXMLである、WSDL(Web Services Definition Language)ドキュメントが含まれます。使用するすべてのWebサービスには、サービス名とエンドポイントURL(操作を起動するためにSOAPメッセージを送信する場所)が必要です。
使用可能な操作はSOAPインタフェースによってパブリッシュされるため、Webサービスの呼び出し元では内部的な詳細を把握しておく必要はありません。それぞれの呼び出しに対して、Webサービスは応答メッセージを返します。応答には、要求された情報またはフォールト情報(エラーの場合)が含まれます。
次の簡単なSOAPメッセージは、「追加」メソッドを呼び出して応答を返します。
<?xml version="1.0" encoding="UTF-8" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:s='http://www.w3.org/2001/XMLSchema'> <SOAP-ENV:Body> <Add xmlns="http://www. math.org"> <arg1 xsi:type="s:decimal">100</arg1> <arg2 xsi:type="s:decimal">25</arg2> </Add> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
この場合、応答メッセージは次のようになります。
<?xml version="1.0" encoding="UTF-8" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:s='http://www.w3.org/2001/XMLSchema'> <SOAP-ENV:Body> <AddResponse xmlns="http://www.math.org"> <AddResult>125</AddResult> </AddResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Webサービスとして公開されるプロセスの定義 Process Designerを使用してプロセスを定義するときに、"xsd:any"のペイロードスタイルを処理するSOAPクライアントはSOAPエンドポイントを使用できます。これは、クライアントが入力と出力を処理し、フォールトを扱えることを意味します。
Process Designerは、ドキュメント/リテラルのメッセージスタイルと、ほとんどのWebサービスが使用するエンコーディングオプションを備えたSOAP 1.1標準をサポートします。
WSDLインタフェースでは、次のことができます。
• プロセスの入力フィールドと出力フィールドまたはプロセスオブジェクトに基づいた、インラインスキーマを使用した、WSDL入力タイプと出力タイプの定義。名前空間は自動的に生成されます。• SOAPサービスのURLのプロセス詳細への表示。• プロセス詳細からWSDL定義へのリンク。• RESTと整合した、Basic認証の使用。• スローステップを使用したフォールトの生成。これにより、1つのフォールトを共有して説明を提供することが可能になります。• インラインメッセージイベントと境界の条件を扱うための、WSDLでの相関プロパティの生成。SOAPエンドポイントをProcess Designerで定義するには、次の手順を実行します。
1 プロセスのプロパティで、 [バインディング] の開始 として[REST/SOAP] を選択します。次の図に、[REST/SOAP]として設定された[バインディング] プロパティを示します。
2 プロセスを定義してパブリッシュした後に、SOAPサービスURLが表示されます。次の図に、SOAPサービスURLを示します。
3 [WSDLファイルの表示] をクリックして、完全なWSDLを開き、このプロセス用に生成されたSOAPメッセージを参照します。URLをコピーしてエンドポイントとして使用できます。注: プロセス名に日本語の文字が含まれている場合、ChromeブラウザでWSDLファイルを表示するとエラーが表示されることがあります。エラーが表示された場合、ページを右クリックし、[ページのソースを表示] を選択して、WSDLファイルを表示します。
メッセージイベントにアクセスするためのRESTおよびProcess DesignerのSOAPエンドポイント Process Designerが生成したRESTおよびSOAP 1.1のエンドポイントを使用して、メッセージイベントにアクセスできます。SOAP 1.2エンドポイントが必要な場合は、Process Developerを使用してこれらのエンドポイントを生成します。Process Developerを使用して作成されたサービスのエンドポイントを取得する方法については、Process Developerのガイドに記載されているポリシーに基づいたバインディングに関する情報を参照してください。
注: 指定されたタイムフレーム内でRESTまたはSOAP要求の数がレート制限を超えると、HTTP 429ステータスコードが表示されます。
次の表に、メッセージイベントを起動する際に必要なアクセスのタイプに基づいた、RESTまたはSOAP 1.1それぞれのエンドポイントのパターンを指定します。
メッセージイベントのプロセスの開始プロパティとメッセージプロパティで[匿名アクセスを許可] が選択解除されている場合、プロセスではHTTP Basicアクセス認証が使用されます。メッセージイベントやサブプロセスの呼び出しで、プロセスが受け取るコールバックとは異なる方法で認証するようにプロセスを定義できます。
アクセスのタイプ
REST URLの形式
SOAP 1.1 URLの形式
HTTP Basicアクセス認証を使用するプロセス
https://{host}/active-bpel/rt/{ProcessName}
https://{host}/active-bpel/soap/{ProcessName}
OAuth2認証を使用するプロセス
https://{host}/active-bpel/rt/{ProcessName}
https://{host}/active-bpel/soap/{ProcessName}
匿名アクセスを使用するプロセス
https://{host}/active-bpel/public/rt/{TenantName}/{ProcessName}
https://{host}/active-bpel/public/soap/{TenantName}/{ProcessName}
匿名アクセスを使用するプロセスメッセージイベント
https://{host}/active-bpel/public/rt/{TenantName}/{ProcessName}/event/{MessageName}
https://{host}/active-bpel/public/soap/{TenantName}/{ProcessName}/event/{MessageName}
HTTP Basicアクセス認証を使用するプロセスメッセージイベント
https://{host}/active-bpel/rt/{ProcessName}/event/ {MessageName}
https://{host}/active-bpel/soap/{ProcessName}/event/{MessageName}
匿名アクセスを使用するサブプロセス内のプロセスメッセージイベント
https://{host}/active-bpel/public/rt/{TenantName}/{SubProcessName}/event/{MessageName}
https://{host}/active-bpel/public/soap/{TenantName}/{ProcessName}/event/{MessageName}
または
https://{host}/active-bpel/public/soap/{TenantName}/{SubProcessName}/event/{MessageName}
HTTP Basicアクセス認証を使用するサブプロセス内のプロセスメッセージイベント
https://{host}/active-bpel/rt/{SubProcessName}/event/{MessageName}
https://{host}/active-bpel/soap/{ProcessName}/event/{MessageName}
または
https://{host}/active-bpel/soap/{SubProcessName}/event/{MessageName}
注: SOAP要求で、イベントがプロセスまたはサブプロセスと同じアクセス方法(匿名またはHTTP Basicアクセス認証)を使用する場合は、デフォルトのプロセスまたはサブプロセスのエンドポイントを使用できます。
SOAPエンドポイントのルールとガイドライン パブリックまたは認証されたプロセス呼び出しを実行する場合は、次のルールとガイドラインを考慮してください。
• SOAP URLにテナントIDとサービス名が含まれている場合は、SOAPActionヘッダーを空にするか、プロセスを呼び出すための任意の値を設定することができます。• SOAP URLにテナントIDまたはサービス名が含まれていない場合、プロセスを呼び出すには、SOAPActionヘッダーにそれぞれの欠落している値を含める必要があります。• SOAP URLにテナントIDとサービス名が含まれていない場合、SOAPActionヘッダーに値が含まれていても、プロセスの呼び出しは失敗します。