Oracle Enterprise Scheduler Webサービス・コールの実装
Oracle Fusion Applicationsは、Oracle Enterprise Scheduler Webサービスと呼ばれるOracle Enterprise Schedulerジョブを発行してアクセスするためのWebサービスを提供します。
Oracle Enterprise Scheduler WebサービスURL:
https://{FA_HOST}:{FA_PORT}/ess/esswebservice?WSDL
SOAPADAPTR-20027: Cause - Unable to parse definition as configured
wsdl is not supported, Action - Verify WSDL definition and please make sure
that your schema documents are correctこのエラーは、WSDL構造の特性が原因で発生: サービスURLには、インポートとして使用される別のWSDLに抽象コンテンツを含む具体的なWSDL定義があります。
具体的なOracle Enterprise Scheduler WebサービスURLには、定義にバインディングとサービス・セクションのみが含まれます。 これにより、定義内の抽象情報(タイプ、メッセージおよびportTypesセクション)を含む別のWSDL URL (次を参照)がインポートされます。
https://{FA_HOST}:{FA_PORT}/ess/esswebservice?WSDL=ESSWebServiceAbstract.wsdlOracle Enterprise Schedulerジョブからのコールバックの受信
Oracle Enterprise Schedulerジョブからコールバックを受信するには、Oracle Integration SOAPエンドポイントを公開する必要があります。 このためには、次の情報を使用して構成されたトリガー接続として、「SOAPアダプタ」との統合を作成します。
- トリガー・ロールを使用して「SOAPアダプタ」接続を作成します。
- WSDL URLフィールドにOracle Enterprise Scheduler Webサービスの抽象URLを入力します。
- Security Assertion Markup Language (SAML)セキュリティ・ポリシーを選択します。
- この「SOAPアダプタ」接続を統合のトリガー接続として使用します。
- アダプタ・エンドポイント構成ウィザードの操作ページで、ESSWebServiceCallbackポート・タイプを選択します。
- 統合設計を完了し、統合をアクティブ化します。
- 対応するリクエスト統合でコールバック統合エンドポイントが指定されていることを確認してください: ReplyTo EndpointURI。
Oracle Enterprise Schedulerジョブへのリクエストの発行
Oracle Enterprise Schedulerにリクエストを送信するには、「SOAPアダプタ」がOracle Enterprise Scheduler webサービスを起動する必要があります。 Oracle Enterprise Scheduler webサービスの構造は「SOAPアダプタ」でサポートされておらず、サービスへのリクエストではWS-Addressingヘッダーを渡す必要があるため、次のステップではこのサービス・コールの実装方法について説明します。
- URLのかわりにアップロードされたWSDLを使用して接続を構成します。
- invokeロールを使用して「SOAPアダプタ」接続を作成します。
- https://support.oracle.comのサポート・ノート2377662.1から、使用するWSDLファイルを取得します。
- WSDLの
soap:addressのロケーションを特定のOracle Fusion Applications環境に変更します。<soap:address location="https://{FA_HOST}:{FA_PORT}/ess/esswebservice"/> - 「SOAPアダプタ」の接続ページで、「WSDLのアップロード」ボタンをクリックし、更新したWSDLを選択します。
- 「ユーザー名パスワード・トークン」セキュリティ・ポリシーを選択します。
- 起動接続を構成します。
サービスでは、ほとんどのコールにWS-Addressingヘッダーが必要です。 WS-Addressingヘッダーは、通常の起動接続ではデフォルトでサポートされていないため、カスタムSOAPヘッダーを使用するように起動接続を構成します。 「SOAPアダプタのカスタムSOAPヘッダーの構成」を参照してください。
ほとんどのリクエストには、
wsa:Actionおよびwsa:MessageIdヘッダーが必要です。 次のスキーマを使用して、起動接続のWS-Addressingヘッダーを構成できます。WS-Addressingスキーマのサンプル:
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/08/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <xsd:element name="MessageID" type="xsd:string"/> <xsd:element name="Action" type="xsd:string"/> </xsd:schema>
トラブルシューティング
| エラー | 原因 |
|---|---|
サービスの起動が次のエラーで失敗します: |
1つ以上のWS-Addressingヘッダーがリクエストにありません。 |
サービスの起動が次のエラーで失敗します: |
Oracle Enterprise Scheduler webサービスのエンドポイントURLは次のようになります:
次ではありません: |
サービスの起動が次のエラーで失敗します: |
Oracle Enterprise Scheduler webサービス・リクエストには、送信されたリクエストのrequestParameters要素が必要です。 空/null値を持つランタイム・リクエストに要素が作成されるように、リクエスト・マッパーでこの要素のターゲット・ノードを作成していることを確認してください。 この要素の#NULLをマップすることもできます。
|
サービスの起動が次のエラーで失敗します: |
考えられる理由については、このblogを参照してください。 |