ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11g リリース1(11.1.1.4.0)
B61435-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

4 ユーザー・インタフェース・リファレンス

このセクションでは、Oracle Service Busプラグインにあるすべてのビュー、ダイアログ、ウィザードおよびその他のユーザー・インタフェース・オブジェクトについて説明します。

4.1 アラート

以下のページでは、アラートの管理を行うことができます。

4.1.1 アラート宛先エディタ

アラート宛先は、Oracle Service Busのアラート通知用の宛先アドレスです。このページでアラート宛先リソースを構成します。

表4-1 アラート宛先エディタのオプション

オプション 説明

説明

このアラート宛先の説明を入力します。

SNMPトラップ

「SNMPトラップ」を指定すると、アラートはSNMPトラップとして送信され、サードパーティのエンタープライズ管理システム(EMS)で処理できます。

レポート

「レポート」を指定すると、アラートはOracle Service Busの「レポート」モジュールに送信され、カスタム・レポート・プロバイダを使用して取得できます。カスタム・レポート・プロバイダは、Oracle Service BusでレポートAPIプロバイダを使用して開発できます。これにより、カスタムJavaコードを使用して、サードパーティがアラートを受信および処理できます。

アラートのロギング

「はい」を選択すると、このアラート宛先に送信されるアラートがアラート・ログにロギングされます。


「アラート宛先の編集」ページで作業を続けます。アラート宛先に電子メールおよびJMS受信者を追加するには、「追加」をクリックします。次のトピックを参照してください。

4.1.2 電子メール受信者の編集ページ

このページを使用して、電子メールで送信される(つまり、電子メール・トランスポートを使用する)アラートの宛先対象を構成します。

表4-2 電子メール受信者のオプション

オプション 説明

電子メール受信者

電子メール受信者をmailto:username@hostnameの形式で入力します。

ユーザー名とホスト名の組合せをカンマ区切りリストの形式で入力すると、複数の電子メール受信者を指定できます。次に例を示します。mailto:username@hostname

[,username_1@hostname_1]...[,username_n@hostname_n]

最初のメール受信者のみ、先頭に「"mailto:"」というテキストを付ける必要があります。ただし、これはオプションで、省略した場合はコードによって追加されます。

SMTPサーバー

送信電子メール用のSMTPサーバーの名前を選択します。このフィールドは、次の「メール・セッション」フィールドを選択する場合には必要ありません。この2つのフィールドは互いに排他的です。両方を構成するとエラーになります。

メール・セッション

使用できるメール・セッションを選択します。このフィールドは、前の「SMTPサーバー」フィールドを選択した場合には必要ありません。この2つのフィールドは互いに排他的です。両方を構成するとエラーになります。

送信元の名前

アラート通知対象の送信者の名前を指定します。このフィールドは省略可能です。

送信元アドレス

有効な電子メール・アドレスを指定します。「送信元の名前」フィールドに値を指定した場合、このフィールドは必須です。

返信先の名前

返信先の名前を指定します。このフィールドは省略可能です。

返信先アドレス

返信が送信される電子メール・アドレスを指定します。「返信先の名前」フィールドに値を指定した場合、このフィールドは必須です。

接続タイムアウト

タイムアウトまでに接続がサーバーからのレスポンスを待つ秒数を入力します。デフォルト値は0です。

リクエストのエンコーディング

文字セット・エンコーディングの値を入力します。デフォルトのエンコーディング値は、iso-8859-1です。


4.1.3 JMS宛先の編集ページ

このページを使用して、JMSで送信される(つまり、JMSトランスポートを使用する)アラートの宛先対象を構成します。

表4-3 JMS宛先のオプション

オプション 説明

宛先URI

JMS宛先のURIを次の形式で入力します。

 jms://host:port/connection_factory/jndi_destination

宛先タイプ

「キュー」または「トピック」を選択します。

メッセージ・タイプ

「バイト」または「テキスト」を選択します。

リクエストのエンコーディング

文字セット・エンコーディングの値を入力します。デフォルトのエンコーディング値は、iso-8859-1です。


4.2 ビジネス・サービスの構成

ビジネス・サービスを作成したら、ビジネス・サービス・エディタでビジネス・サービスを構成します。ビジネス・サービス・エディタでは、それらの設定を表示および変更できます。次のビジネス・サービス構成ページがあります。

4.2.1 ビジネス・サービスの「全般的な構成」ページ

ビジネス・サービスの「全般的な構成」ページを使用して、ビジネス・サービスの全般的な構成設定を指定します。

4.2.1.1 ビジネス・サービス・エディタのオプション

次の表に、エディタのオプションを示します。

表4-4 ビジネス・サービス・エディタのオプション

オプション 説明

説明

このサービスの説明を入力または変更します。

サービスの種類(エディタのみ)

このオプションは、ビジネス・サービスのサービスの種類を示します。特定のサービスの種類の、特定のプロパティのみ変更できます。

  • 「WSDL Webサービス」 - WSDLに基づくビジネス・サービスを作成するには、このオプションを選択します。パスで修飾されたWSDL名を入力します(たとえば、myProject/myFolder/myWSDL)。または、「参照」をクリックしてWSDLリソースを選択します。別のWSDLを指定することもできますが、これにより実質的に新しいサービスが作成されます。新しいサービスと同様に構成する必要があります。

    「(ポートまたはバインド)」 - ポート名(WSDLで定義)を入力して、実際のトランスポート・アドレスを指定します。またはバインド名(WSDLで定義)を入力してトランスポート・アドレスにマップします。前の説明のように「参照」を使用してWSDLを選択する場合は、「WSDL定義の選択」ダイアログにWSDLに定義されているすべてのポートとバインドが表示されます。前のページでポートまたはバインドを選択すると、選択した名前が「(ポートまたはバインド)」フィールドに設定されます。

  • 「トランスポート型付きのサービス」 - EJB、JEJBまたはFlow(分割-結合)トランスポートを使用するサービスを作成するには、このオプションを選択します。

  • 「メッセージ・サービス」 - 様々なコンテンツタイプのメッセージを交換するサービスを作成するには、このオプションを選択します。このような交換は、リクエストとレスポンスまたは一方向で行われます。HTTPトランスポートでHTTP 'GET'オプションを使用する場合は、リクエストのないレスポンスもあります。Webサービスとは異なり、リクエストとレスポンスのコンテンツタイプが同じである必要はありません。

  • 「任意のSOAPサービス」 - 明示的に定義された具象インタフェースを持たないSOAPサービスを作成する場合は、このオプションを選択します。SOAPバージョン(SOAP 1.1またはSOAP 1.2)を変更できます。

  • 任意のXMLサービス - 明示的に定義された具体的なインタフェースを持たないXMLサービスを作成する場合、このオプションを選択します。

    HTTP GETに対応しているサービスの種類は、メッセージング・サービスと任意のXMLサービスに限られます。


4.2.2 ビジネス・サービスの「メッセージ・タイプの構成」ページ

ビジネス・サービスの「メッセージ・タイプの構成」ページを使用して、タイプがメッセージ・サービスであるビジネス・サービスのメッセージ・タイプを構成します。

メッセージング・サービス用のバインディング定義は、交換されるメッセージのコンテンツ・タイプの構成で構成されています。レスポンスのコンテンツ・タイプは、リクエストのコンテンツ・タイプと同じである必要はありません。そのため、レスポンスは個別に構成されます(たとえば、サービスでMFLメッセージを受信し、XMLの受信確認を返すことも可能です)。


注意:

メッセージング・サービスの型を持つ電子メール、ファイル、FTP、またはSFTPトランスポート・ビジネス・サービスは、一方向のメッセージのみをサポートしており、「レスポンス・メッセージの種類」「なし」である必要があります。「なし」以外のオプションを選択すると、ファイル、FTP、またはSFTPプロトコルを「トランスポート構成」ページで使用できません。

表4-5 メッセージ・タイプのビジネス・サービスのオプション

オプション 説明

リクエスト・メッセージ・タイプ

リクエスト・メッセージのメッセージの種類を次の中から選択します。

  • 「なし」 - リクエスト・メッセージがない場合(HTTP GETなど)は、このオプションを選択します。

  • 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

  • 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

  • MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。MFLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    構成できるMFLファイルは1つに限られます。

    注意: 複数のMFLファイルをサポートするには、コンテンツをバイナリまたはテキストとして定義し、メッセージ・フローのMFLアクションを使用してXMLに変換します。

  • XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。XMLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    必要に応じて、交換されるXMLドキュメントのXMLスキーマ型を(「要素またはタイプ」フィールドで)宣言して、一部の型情報を指定します。

  • Java - Javaオブジェクトをリクエストで送信中の場合は、このオプションを選択します。JMSトランスポートがJavaオブジェクト・メッセージに対して使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送信および受信に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1874)を参照してください。

レスポンス・メッセージ・タイプ

レスポンス・メッセージのメッセージ・タイプを次の中から選択します。

  • なし - レスポンス・メッセージがない場合は、このオプションを選択します。

  • 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

  • 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

  • MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。MFLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    構成できるMFLファイルは1つに限られます。

    注意: 複数のMFLファイルをサポートするには、コンテンツをバイナリまたはテキストとして定義し、メッセージ・フローのMFLアクションを使用してXMLに変換します。

  • XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。XMLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    必要に応じて、交換されるXMLドキュメントのXMLスキーマ型を(「要素またはタイプ」フィールドで)宣言して、一部の型情報を指定します。

  • Java - Javaオブジェクトをレスポンスで受信中の場合は、このオプションを選択します。JMSトランスポートがJavaオブジェクト・メッセージに対して使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送信および受信に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1874)を参照してください。


4.2.3 ビジネス・サービスの「SOAPバインド構成」ページ

ビジネス・サービスの「SOAPバインド構成」ページを使用して、WSDLに基づいたビジネス・サービスのSOAPバインドを構成します。

Web Services Interoperability Organizationで定義されたBasic Profileにサービスを準拠させるかどうかを指定する場合は、「WS-I準拠の適用」チェックボックスを選択または選択解除します。このオプションが有効になるのは、SOAP 1.1サービスの場合に限られます。

サービスをWS-I準拠として指定すると、サービス間で送受信されるメッセージの確認が行われます。

4.2.4 ビジネス・サービスの「トランスポート構成」ページ

ビジネス・サービスの「トランスポート構成」ページを使用して、サービスの転送プロトコルの選択、確認または変更、全般的なトランスポート構成設定の設定、確認または変更を行います。

アウトバウンド・トランスポートレベルのセキュリティは、Oracle Service Busのプロキシ・サービスとビジネス・サービスの間の接続に適用されます。トランスポートレベルのセキュリティに関する詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のトランスポートレベル・セキュリティの構成に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1557)を参照してください。

表4-6 ビジネス・サービスのトランスポート構成のオプション

オプション 説明

プロトコル

リストから転送プロトコルを選択します。使用可能なプロトコルは、サービスの種類によって異なります。

  • 「WSDL Webサービス」: soa-direct、bpel-10g、dsp、http、jca、jms、sb、soa-direct、ws

  • 「トランスポート型付きのサービス」: ejb、flow、jejb

  • 「メッセージ・サービス」: email、file、ftp、http、jms、mq(使用できる場合)、sftp、tuxedo

  • 「任意のSOAPサービス」: dsp、http、jms、sb

  • 「任意のXMLサービス」: dsp、email、file、ftp、http、jms、mq(使用できる場合)、sb、sftp、tuxedo

ロード・バランシング・アルゴリズム

次のいずれかのロード・バランシング・アルゴリズムを選択します。

  • 「ラウンドロビン」 - このビジネス・サービスに対して「エンドポイントURI」フィールドに入力したURLの順番を動的に設定します。最初のURLに失敗した場合は次のURLが試行され、次のURLに失敗した場合はその次のURLというように、最後のURLまで再試行が行われます。

    新しいメッセージごとに、URLの順番が新しく設定されます。

  • 「ランダム」 - このビジネス・サービスに対して「エンドポイントURI」フィールドに入力した一連のURLの順番をランダムに設定します。最初のURLに失敗した場合は次のURLが試行され、次のURLに失敗した場合はその次のURLというように、最後のURLまで再試行が行われます。

  • 「ランダムな重みベース」 -このビジネス・サービスに対して「エンドポイントURI」フィールドに入力した一連のURLの順番をランダムに設定します。ただし、「重み」フィールドに入力した値に基づいて、一部のURLが他のURLよりも頻繁に再試行されます。

  • 「なし」 - このビジネス・サービスに対して「エンドポイントURI」フィールドに入力した一連のURLの順番を上から順に設定します。

エンドポイントURI

「プロトコル」フィールドで選択した転送プロトコルに基づいた形式でエンドポイントURLを入力します。この後で、各トランスポートのURI形式を示します。省略できるURI要素は大カッコ[]で囲んでいます。トランスポートのURIの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』の各トランスポートの章を参照してください。

  • bpel-10gprotocol://host[:port] [/protocol-path]/domain/process[/version[/partnerlink/role]]

  • dsp - t3://dsp-ip-address:port/dsp-app-name

  • ejb - ejb:jndi_provider_name:ejb_jndi_name

    このURIで、jndi_provider_nameはOracle Service Bus JNDIプロバイダ・リソースの名前、ejb_jndi_nameはEJBに対するJNDIサーバーのJNDI名です。

    JNDIプロバイダが同じサーバーに配置されている場合、JNDIプロバイダを指定する必要はありません。この場合のURIはejb::ejb_jndi_nameとなります。

    注意: EJBがIBM WebSphere上で実行中の場合は、ejb_jndi_nameを次の形式にしてください。

    cell/nodes/node_name/servers/server_name/ejb_jndi_name

    または

    cell/clusters/cluster_name/ejb_jndi_name

    詳細は次の場所にあるIBM WebSphereのドキュメントに記述されています。http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rnam_example_prop3.html

  • email - 次の形式を任意に組み合せて複数のエンドポイントURIを入力できます。

    mailto:name@domain_name.com

    mailto:name@domain_name.com?smtp=smtp_server_resource

    mailto:name@domain_name.com?mailsession=jndi_mail_session

  • file - file:///root-dir/dir1

  • ftp - ftp://hostname:port/directory

  • http - http://host:port/someService

    HTTPトランスポートではHTTPエンドポイントとHTTPSエンドポイントの両方がサポートされます。

  • jca - jca://<resource_adapter_jndi>

  • jejb - jndi_provider_name:ejb_jndi_name

    このURIで、jndi_provider_nameはOracle Service Bus JNDIプロバイダ・リソースの名前、ejb_jndi_nameはEJBに対するJNDIサーバーのJNDI名です。

    EJB 2.1の例: jejb:myProvider:osb.jejb.myJejbBiz21

    EJB 3.0の例: jejb:myProvider:myBiz31#osb.jejb.myJejbBiz

    注意: EJBがIBM WebSphere上で実行中の場合は、ejb_jndi_nameを次の形式にしてください。

    cell/nodes/node_name/servers/server_name/ejb_jndi_name

    または

    cell/clusters/cluster_name/ejb_jndi_name

    詳細は次の場所にあるIBM WebSphereのドキュメントに記述されています。http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rnam_example_prop3.html

エンドポイントURI(続き)

  • jms - jms://host:port[,host:port]*/connection_factory/jndi_destination

    JMS宛先に複数のサーバーを指定するには、jms://host1:port,host2:port/connection_factory/jndi_destinationという形式のURIを使用します。

    ローカル・マシンで行われるルックアップの場合、ホストとポートをURIから省略することもできます。例:

    jms:///connection_factory/jndi_destination

    クラスタの場合: JMS URIのホスト名はクラスタ・サーバーのホスト名と正確に一致する必要があります。これは、クラスタ・サーバーのホスト名はWebLogic Serverに構成されているためです。

  • mq - mq://local-queue-name?conn=mq-connection-resource-ref

    local-queue-nameは、ビジネス・サービスがメッセージを読み取るMQキューの名前です。

    mq-connection-resource-refは、MQ接続リソースの名前とパス(プロジェクト/フォルダ)です。たとえば、default/my_MQconnection

    注意: エンドポイントURIはスペースを含むことができないので、名前にスペースがあるMQ接続リソースまたはプロジェクト/フォルダを作成しないでください。

    MQトランスポートをOracle Service Busで使用できるようにするには、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1117)を参照してください。

  • sb - sb://<jndi_provider_name/>service_name

    jndi_provider_name(オプション)はOracle Service Bus JNDIプロバイダ・リソースの名前です。省略すると、デフォルトのコンテキストが使用されます。

    service_nameは対象サービスです。リモート・プロキシ・サービスURIに対応します。

  • sftp - sftp://hostname:port/directory

  • soa-direct[protocol://authority]/default/compositeName[!versionNumber[*label]]/serviceName

    SOAサービスがOracle Service Busと同じサーバーに配置されている場合、protocolとauthorityは省略できます。

  • tuxedo - tuxedo:resourcename/remotename

    tuxedo-queue:sendQSpace/sendQName[/[rcvQspace:]rvcQname][/failureQname]

    URIに含まれるresourcenameはWTCインポート名に対応し、remotenameはリモートTuxedoドメインによりエクスポートされたサービス名に対応します。resourcenameは必須でremotenameは省略可能です。

    複数のURIが指定されている場合、エンドポイントには一意のリソース名を付ける必要があります。リモート名が指定されていない場合は、その値がリソース名の値になります。リモート名が入力されていない、またはリモート名およびリソース名が同じである場合は、1つのURIのみを使用できます。この場合、リソース名とリモート名は同じ値です。これにより、すでに定義されたWTCインポートが、WTCロード・バランシングおよびフェイルオーバーを利用できるようになります。

  • ws - http://host:port/someService

    注意: Oracle Service Busでは、同じビジネス・サービス内でエンドポイントURIの重複はサポートされなくなりました。

    「追加」をクリックして、1つまたは複数のURIを追加します。実行時に、「ロード・バランシング・アルゴリズム」フィールドで選択したロード・バランシング・アルゴリズムに基づいてURLが選択されます。

    「ロード・バランシング・アルゴリズム」フィールドで「ランダムな重みベース」を選択した場合は、「エンドポイントURI」フィールドに重みを入力することもできます。デフォルト値は1です。

    複数のエンドポイントを定義している場合に、「ロード・バランシング・アルゴリズム」フィールドで「なし」を選択すると、エンドポイントの順序が重要になります。上向き矢印と下向き矢印のボタンを使用して、エンドポイントの順序を変更することができます。

    Oracle Service Busでは、同じビジネス・サービス内でエンドポイントURIの重複はサポートされなくなりました。

再試行回数

アウトバウンド・リクエストを送信する際の配信の失敗に備えて、各URLエンドポイントの再試行回数(フェイルオーバー試行回数)を指定します。

たとえば、ビジネス・サービスにURI (U1)を1つ構成し、再試行回数を3に設定したとします。最初の試行でU1が失敗すると、システムはU1エンドポイントにさらに3回試行します。

ビジネス・サービスに2つのURI (U1とU2)を構成し、再試行回数を3に設定した場合は、最初の試行(たとえばU1)が失敗すると、システムは次のURI (U2)を試行(フェイルオーバー)します。また失敗すると、システムはさらに2回(U1とU2を1回ずつ)試行します。

再試行の反復間隔

リストのすべてのエンドポイントURIを繰り返すまでのシステムの休止を秒単位で指定します。

たとえば、ビジネス・サービスに2つのURI (U1とU2)を構成し、再試行回数を2で、再試行間隔を5秒に設定したとします。最初の試行(U1)が失敗すると、システムはただちにU2を試行します。U2も失敗すると、5秒後にもう一度U1を試行します。

アプリケーション・エラーの再試行

「はい」または「いいえ」を選択します。

アウトバウンド・リクエストを送信する際の配信の失敗に備えて、アプリケーション・エラー(SOAPフォルトなど)に基づいてエンドポイントURLを再試行するかどうかを指定します。


4.2.5 ビジネス・サービスの「メッセージ処理構成」ページ

ビジネス・サービスの「メッセージ処理構成」ページを使用して、ビジネス・サービスから送信されるアウトバウンド・メッセージをOracle Service Busでエンコードする方法、およびアウトバウンド・レスポンス・メッセージの添付ファイルのコンテンツをメモリーにバッファせずにOracle Service Busでその添付ファイルをストリーミングする必要があるかどうかを指定します。

このページを使用して、ビジネス・サービスによるMTOM/XOP形式でのアウトバウンド・メッセージのエンコードを可能にすることができます。SOAP Message Transmission Optimization Mechanism (MTOM)は、バイナリ・データをWebサービスとの間で送受信する方法です。MTOMでは、XML-binary Optimized Packaging (XOP)を使用してバイナリ・データを転送します。

このページを使用して、ビジネス・サービスでアウトバウンド・レスポンス・メッセージ内の添付ファイルをディスク・ファイルに格納し、添付ファイルのコンテンツをメモリーにバッファリングせずにストリーミング形式でデータを処理することもできます。これにより、ビジネス・サービスで、大きな添付ファイルを堅牢かつ効率的に処理できます。

表4-7 ビジネス・サービスのメッセージ処理のオプション

オプション 説明

XOP/MTOMサポート

Oracle Service Busでは、次のトランスポートを使用したXOP/MTOMがサポートされます。

  • HTTP/S

  • ローカル

  • SB

「有効」チェック・ボックスを選択すると、ビジネス・サービスでアウトバウンド・メッセージをMTOM/XOP形式でエンコードできます。このオプションは、前のリリースの構成に基づくインポートされたビジネス・サービスに対しては無効になります。

「XOP/MTOMサポート」が有効になっている場合は、$headerおよび$bodyメッセージ・コンテキスト変数のバイナリ・データを処理する方法を次のオプションから選択します。

  • 「参照によるバイナリ・データを含む」: (デフォルト)アウトバウンド・レスポンス・メッセージで、$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素をctx:binary-content要素で置換します。

  • 「値によるバイナリ・データを含む」:アウトバウンド・レスポンス・メッセージで、$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素を対応するバイナリ・データのBase64エンコード・テキスト・バージョンで置換します。

「XOP/MTOMサポート」がビジネス・サービスに対して有効になっている場合は、すべてのアウトバウンド・メッセージがMTOM形式である必要はありません。かわりに、この設定はビジネス・サービスがMTOMペイロードを処理できることを指定します。

Oracle Service BusではMTOMとSwAの組合せがサポートされないため、Oracle Service Busがアウトバウンド・リクエストをビジネス・サービスにディスパッチしようとした場合、およびビジネス・サービスでMTOMとXOPの両方が有効で、$attachmentsメッセージ・コンテキスト変数がnullでない場合は、システムによってランタイム・エラーが発行されます。

添付ファイル

Oracle Service Busでは、HTTP/Sトランスポートを使用したMIME添付ファイルのストリーミングがサポートされます。

「添付ファイルのディスクへのページング」チェック・ボックスを選択すると、ビジネス・サービスがアウトバウンド・レスポンス・メッセージ内の添付ファイルをストリーミングできます。

「XOP/MTOMサポート」を有効にした場合、「添付ファイル」オプションは、「XOP/MTOMサポート」で「参照によるバイナリ・データを含む」オプションを選択した場合にのみ使用できます。添付ファイルを含むペイロードはRFC 822に準拠している必要もあります。具体的には、インターネット・ヘッダーを含む行は、CRLF(復帰改行)で終了する必要があります。

結果キャッシュ

いくつかの変更が結果に含まれるビジネス・サービスを呼び出す場合は、結果キャッシュを使用すると、ビジネス・サービスのパフォーマンスが向上します。外部サービスを直接呼び出すかわりにキャッシュした結果をクライアントに返すためです。

ビジネス・サービスで結果キャッシュを使用するには、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のグローバルでの結果キャッシュの有効化に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1294)で説明されているように、まず結果キャッシュをグローバルで有効にする必要があります。

次のガイドラインに従って、「詳細設定」セクションで結果キャッシュを構成します。

  • 「サポートされています」オプションを選択します。こうすると、その他のフィールドが有効になります。

  • 「キャッシュ・トークン式」 – Oracle Service Busは、取得や移入のためにキャッシュ・キーを使用してキャッシュ結果を識別します。キャッシュ・キーのキャッシュ・トークンの部分が一意の識別子として使用されます。キャッシュ・トークン式を使用すると、キャッシュ・キーのキャッシュ・トークン部分を生成し、ビジネス・サービスのキャッシュ結果を一意に識別できます。「式」をクリックして式を作成します。

    リクエストの値からキャッシュ・トークンを生成するには、メッセージの$body、$header、$operationまたは$transportMetaDataから値を取得する式を使用します($outbound/ctx:transport/ctx:requestまたは$outbound/ctx:transport/ctx:response)。たとえば、顧客IDのcache-tokenを$bodyに移入できます。

    Service Result Caching Expressionビルダーでは、「ネームスペース定義」タブで式のネームスペースを選択することもできます。

    キャッシュ・トークン式は、Stringか、単純なコンテンツの値(属性または子要素なしの要素)に解決される必要があります。式がNULLに評価されるか、エラーが発生すると、結果はキャッシュされません。

    注意: ビジネス・サービス構成で「キャッシュ・トークン式」を設定しなくても、リクエストからキャッシュ・トークンを生成することもできます(ビジネス・サービスを呼び出すプロキシ・サービス・メッセージ・フローの場合)。このためには、プロキシ・サービス・パイプラインの$outbound/ctx:transport/ctx:request/ctx:cache-tokenに値を組み込みます。このcache-tokenの値が、ビジネス・サービス構成の「キャッシュ・トークン式」をオーバーライドします。

結果キャッシュ(続き)

  • 「有効期限」 – 有効期限すなわち存続時間(TTL)は、ビジネス・サービスの結果キャッシュのエントリがいつ廃棄されるかを決定します。期間として0を設定すると有効期限はなしになります。負の数を指定するとキャッシュは行われません。次のいずれかを選択します。

    「デフォルトの使用」 – デフォルトは、DOMAIN_HOME/config/osb/coherence/osb-coherence-config.xmlのexpiry-delayの値です。デフォルトは5分です。

    「期間」 – 特定の長さの期間を設定します。

    「XQuery式」 – 「有効期限」の値をリクエストまたはレスポンスから取得するXQuery式を入力できます。「リクエスト」または「レスポンス」を選択します。

    リクエストまたはレスポンスの値から有効期限を生成するには、メッセージの$body、$header、$operationまたは$transportMetaDataから値を取得する式を使用します($outbound/ctx:transport/ctx:requestまたは$outbound/ctx:transport/ctx:response)。たとえば、Cache-Control HTTPヘッダーに設定した値を使用します。

    Caching Expressionビルダーでは、「ネームスペース定義」タブを使用して式のネームスペースを選択することもできます。

    有効期限は、Integer(秒数)、XQuery dayTimeDuration (XSD型)、または秒を表す単純なコンテンツの整数値(属性または子要素なしの要素)に解決される必要があります。式がNULLに評価されるか、エラーが発生すると、結果はキャッシュされません。

    注意: ビジネス・サービス構成で「有効期限」を設定しなくても、リクエストから有効期限を生成することもできます。このためには、プロキシ・サービス・パイプラインの$outbound/ctx:transport/ctx:request/ctx:cache-ttlに値を組み込みます。このcache-ttl要素の値が、ビジネス・サービス構成の「有効期限」をオーバーライドします。

結果キャッシュの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のビジネス・サービスの結果キャッシュによるパフォーマンス改善に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG170)を参照してください。


4.2.6 ビジネス・サービスの「サービス・ポリシー構成」ページ

ビジネス・サービスの「サービス・ポリシー構成」ページを使用して、ビジネス・サービスのサービス・ポリシー設定を構成します。

注意: ポリシー・バインディング・モデルは相互排他的です。サービスでは1種類のポリシーのみを使用する必要があります。サービスに直接ポリシーをバインドすると、すべてのWSDLベースのポリシーは無視されます。

表4-8 ビジネス・サービスのサービス・ポリシー構成のオプション

オプション 説明

OWSMポリシー・ストアから

ポリシーは、Oracle Enterprise Managerで管理されている中央のOracle Web Services Managerポリシー・ストアで定義されます。対象のポリシーはWS-Security 1.0/1.1、SAML 1.1/2.0、KerberosTokenプロファイル、およびその他の業界標準をサポートしています。

IDEでOracle Web Services Managerポリシーをサービスに追加するには、Oracle Web Services Managerが有効化された実行中のサーバーに接続している必要があります。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerによるOracle Service Busの保護に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1681)を参照してください。

注意: Eclipseで複数のサーバーを操作するとき、EclipseはOracle Web Services Managerポリシーを取得するために、サーバー・リストの最初の有効なOracle Service Busサーバーを選択します。

カテゴリのフィルタ処理を使用すると、必要なポリシーを探すときに役立ちます。ビジネス・サービスの場合、クライアント側のポリシーのみが表示されます。

ビジネス・サービスの作成に使用したWSDLに組込み標準WS-Securityポリシーが含まれている場合、Oracle Service Busではエラーがスローされ、競合が表示されます。この競合を解決するには、「OWSMポリシー・ストアから」を選択し、互換性のあるポリシーの追加をクリックすることで、組込みWSDLポリシーを互換性のあるOracle Web Services Managerポリシーに置き換えます。Oracle Service Busでは、WSDLに組み込まれた標準ポリシーを基準として最も一致するポリシーをOracle Web Services Managerポリシー・ストアから探すことが、ベスト・エフォートで実施されます。このアルゴリズムで返される一致するポリシーはゼロ、1つまたは複数の場合があります。

互換性のあるポリシーの追加をクリックした後にOracle Service Busで互換性のあるポリシーが見つからなかった場合は、「追加」をクリックして適切なOracle Web Services Managerポリシーを選択します。Oracle Service Busが互換性のあるポリシーを複数返した場合は、使用しないポリシーを削除します。

ポリシーを追加した後で、「セキュリティ」ページでオーバーライドを指定できます。

WSDLから

サービス・ポリシーが、サービスの基準となるWSDLに関連付けられている場合は、このオプションを選択します。対象のポリシーはWS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。

注意: Oracle Service BusでサポートされていないWS-Securityポリシーに関するビジネス・サービス構成でエラーが発生した場合は、「OWSMポリシー・ストアから」オプションを使用して、組込みWSDLポリシーを互換性のあるOWSMポリシーに置き換えます。

事前定義ポリシーまたはWS-Policyリソースから

サービス・レベル・ポリシー、操作レベル・ポリシー(この場合、ポリシーはリクエスト・メッセージおよびレスポンス・メッセージの両方に適用される)、リクエスト・ポリシー、およびレスポンス・ポリシーを直接追加するには、このオプションを選択します。

ポリシーはOracle WebLogic Serverで事前定義されるか、Oracle Service BusでWS-Policyリソースとともにユーザー定義されるかのいずれかです。対象のポリシーはWS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。


4.2.7 ビジネス・サービスの「セキュリティ構成」ページ

「セキュリティ構成」ページを使用して、ビジネス・サービスで使用されるセキュリティ・ポリシーのオーバーライドを指定します。

表4-9 ビジネス・サービスのセキュリティ構成のオプション

オプション 説明

サービス・アカウント

「参照」をクリックし、表示されるリストでサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

注意: このオプションは、Oracle Web Services Managerポリシーを使用するサービスでは選択できません。ユーザーの資格証明がオーバーライド・キーによって提供されるためです。

詳細は、4.19項「サービス・アカウント」を参照してください。

ポリシーのオーバーライド

OWSMポリシーでは、許可されているオーバーライドを必要なだけ指定します。

詳細は、表4-8と、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerでのOracle Service Busの保護に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1681)を参照してください。


4.3 プロキシ・サービスの構成

新しいプロキシ・サービスを作成したら、プロキシ・サービス・エディタで新しいプロキシ・サービスを構成します。プロキシ・サービス・エディタでは、それらの設定を表示および変更できます。次のプロキシ・サービス構成ページがあります。

4.3.1 プロキシ・サービスの「全般的な構成」ページ

プロキシ・サービスの「全般的な構成」ページを使用して、プロキシ・サービスの全般的な構成プロパティを設定または変更します。

4.3.1.1 プロキシ・サービス・エディタのオプション

次の表に、エディタのオプションを示します。

表4-10 プロキシ・サービス・エディタのオプション

オプション 説明

説明

このプロキシ・サービスの説明を入力します。

サービスの種類(エディタのみ)

このオプションはプロキシ・サービスのサービスの種類を示します。特定のサービスの種類の、特定のプロパティのみ変更できます。

  • 「WSDL Webサービス」 - WSDLに基づくプロキシ・サービスを作成するには、このオプションを選択します。パスで修飾されたWSDL名を入力します(たとえば、myProject/myFolder/myWSDL)。または、「参照」をクリックしてWSDLリソースを選択します。同じWSDLの別のポートまたはバインドを入力できます(または、「参照」をクリックして選択できます)。別のWSDLを指定することもできますが、これにより実質的に新しいサービスが作成されます。新しいサービスと同様に構成する必要があります。

    「(ポートまたはバインド)」 - ポート名(WSDLで定義)を入力して、実際のトランスポート・アドレスを指定します。またはバインド名(WSDLで定義)を入力してトランスポート・アドレスにマップします。「参照」を使用してWSDLを選択する場合は、「WSDL定義の選択」ダイアログに定義されているすべてのポートとバインドが表示されます。

    注意: 操作に「SOAP本体タイプ」を使用する場合は、WSDLに同じ入力メッセージで2つの操作がないことを確認してください。「SOAP本体タイプ」操作は、入力メッセージを調べて一意に識別することはできません。

  • 「トランスポート型付きのサービス」 - JEJBプロキシ・サービスを作成するには、このオプションを選択します。

  • 「メッセージ・サービス」 - あるデータ・タイプのメッセージを受信し、別のデータ・タイプのメッセージでレスポンスできるサービスを作成する場合は、このオプションを選択します。このようなメッセージ交換は、リクエストとレスポンスまたは一方向にすることができます。

    (HTTP GETをサポートしているサービス・タイプは、「任意のXMLサービス」と「メッセージング・サービス」のみです。)

  • 「任意のSOAPサービス」 - 明示的に定義された具象インタフェースを持たないSOAPサービスを作成する場合は、このオプションを選択します。SOAPバージョン(SOAP 1.1またはSOAP 1.2)を変更できます。

  • 任意のXMLサービス - 明示的に定義された具体的なインタフェースを持たないXMLサービスを作成する場合、このオプションを選択します。

    (HTTP GETをサポートしているサービス・タイプは、「任意のXMLサービス」と「メッセージング・サービス」のみです。)


4.3.2 プロキシ・サービスの「メッセージ・タイプの構成」ページ

プロキシ・サービスの「メッセージ・タイプの構成」ページを使用して、タイプがメッセージ・サービスであるプロキシ・サービスのメッセージ・タイプを構成します。

メッセージング・サービス用のバインディング定義は、交換されるメッセージのコンテンツ・タイプの構成で構成されています。レスポンスのコンテンツ・タイプは、リクエストのコンテンツ・タイプと同じである必要はありません。そのため、レスポンスは個別に構成されます(たとえば、サービスでMFLメッセージを受信し、XMLの受信確認を返すことも可能です)。


注意:

メッセージング・サービスの型を持つ電子メール、ファイル、FTP、またはSFTPトランスポート・プロキシ・サービスは、一方向のメッセージのみをサポートしており、「レスポンス・メッセージの種類」「なし」である必要があります。「なし」以外のオプションを選択すると、電子メール、ファイル、FTP、またはSFTPプロトコルを「トランスポート構成」ページで使用できません。

表4-11 プロキシ・サービスのメッセージ・タイプのオプション

オプション 説明

リクエスト・メッセージ・タイプ

リクエスト・メッセージのメッセージの種類を次の中から選択します。

  • 「なし」 - リクエスト・メッセージがない場合は、このオプションを選択します。

  • 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

  • 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

  • MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。MFLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    構成できるMFLファイルは1つに限られます。

    注意: 複数のMFLファイルをサポートするには、コンテンツをバイナリまたはテキストとして定義し、メッセージ・フローのMFLアクションを使用してXMLに変換します。

  • XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。XMLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    必要に応じて、交換されるXMLドキュメントのXMLスキーマ型を(「要素またはタイプ」フィールドで)宣言して、一部の型情報を指定します。

  • Java - Javaオブジェクトをリクエストで送信中の場合は、このオプションを選択します。JMSトランスポートがJavaオブジェクト・メッセージに対して使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送信および受信に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1874)を参照してください。

レスポンス・メッセージ・タイプ

レスポンス・メッセージのメッセージ・タイプを次の中から選択します。

  • なし - レスポンス・メッセージがない場合は、このオプションを選択します。

  • 「バイナリ」 - メッセージのコンテンツタイプが不明か、重要でない場合は、このオプションを選択します。

  • 「テキスト」 - メッセージをテキストのみに制限する場合は、このオプションを選択します。

  • MFL - メッセージがMFL定義に準拠したバイナリ・ドキュメントの場合は、このオプションを選択します。MFLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    構成できるMFLファイルは1つに限られます。

    注意: 複数のMFLファイルをサポートするには、コンテンツをバイナリまたはテキストとして定義し、メッセージ・フローのMFLアクションを使用してXMLに変換します。

  • XML - メッセージがXMLドキュメントの場合は、このオプションを選択します。XMLファイル名(そのパスで修飾されている)を入力するか、または「参照」をクリックして、ファイルを選択します。

    必要に応じて、交換されるXMLドキュメントのXMLスキーマ型を(「要素またはタイプ」フィールドで)宣言して、一部の型情報を指定します。

  • Java - Javaオブジェクトをレスポンスで受信中の場合は、このオプションを選択します。JMSトランスポートがJavaオブジェクト・メッセージに対して使用されます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送信および受信に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1874)を参照してください。


4.3.3 プロキシ・サービスの「操作選択構成」ページ

プロキシ・サービスの「操作選択構成」ページでは、WS-I準拠を実行して(SOAP 1.1サービスのみ)、使用する選択アルゴリズムを選び、このプロキシ・サービスが呼び出す操作を決定します。このオプションは、WSDLに基づいて定義されたSOAPサービスまたはXMLサービスでのみ使用できます。

WSDL仕様では、受信するSOAPメッセージのタイプに基づいて呼び出す操作を計算するデフォルトのアルゴリズムが定義されています。ただし、その他の手段に基づいて操作を選択しなければならない場合もあります(パフォーマンスや、署名および暗号化に問題があったり、デフォルトのアルゴリズムが使用できない場合など)。

Oracle Service Busには、アルゴリズムが追加で用意されています。これらはそれぞれ同じパターンに従っており、式の評価に基づいて値を取得し、その値を使用して静的なテーブルから対応する操作をルックアップします。

通常、Oracle Service Busは、受信メッセージが不明なデータで処理を判断できない場合や、データが有効な処理に対応していない場合にも、柔軟に対処します。どちらの場合も、$operationは空になります。Oracle Service Busでは、このようなメッセージをすべて拒否するのではなく、コンテキスト内のoperation変数を初期化せずに、メッセージの処理を続行します。

ただし、プロキシ・サービスがWSDLベースで、以下の条件の1つ以上が当てはまる場合は、セキュリティ要件が適用されます。

  • WSDLにWS-Securityポリシーが存在し、プロキシがアクティブな仲介になっています。

  • プロキシにメッセージ・レベルのカスタム認証(カスタム・トークンまたはユーザー名/パスワード)が存在します。

これらの条件に該当する場合、操作選択アルゴリズムが有効な操作名を返すかどうかを確認する実行時チェックが行われます。操作選択アルゴリズムでnullまたはWSDLに存在しない操作が返された場合、メッセージは拒否され、エラーが発生します。

表4-12 プロキシ・サービスの操作選択のオプション

オプション 説明

WS-I準拠の適用

Web Services Interoperability Organizationで定義されたBasic Profileにサービスを準拠させるかどうかを指定する場合は、チェック・ボックスを選択または選択解除します。このオプションが有効になるのは、SOAP 1.1サービスの場合に限られます。

サービスをWS-I準拠として指定すると、サービス間で送受信されるメッセージの確認が行われます。

プロキシの場合、プロキシが受信したリクエスト・メッセージの確認が行われます。呼び出されるサービス(つまり、プロキシがサービス・コールアウト・アクションまたはルート・ノード経由で呼び出すサービス)の場合、それらのサービスから受信したレスポンス・メッセージの確認が行われます。呼び出されるサービスから受信したメッセージを確認するかどうかを決定するのは、呼び出されるサービス側のWS-I準拠プロパティであり、プロキシ側ではありません。呼び出されるサービスでWS-I準拠のテストを指定すると、メッセージ・フローによってレスポンス・エラーのfaultが生成されます。

選択アルゴリズム

以下のいずれか1つを選択し、必要に応じて追加の手順を実行します。

  • 「トランスポート・ヘッダー」 - ルックアップ値を含むトランスポート・ヘッダーを定義する場合は、このアルゴリズムを選択します。その後、次の手順を実行します。

  • 「ヘッダー名」フィールドに、呼び出される操作を選択するときにキーとして使用される値を抽出するトランスポート・ヘッダーを入力します。

  • 「操作のマッピング」フィールドで、「値」フィールドに各操作の値を指定します。この値が操作のキーとして使用されます。

  • 「SOAPActionヘッダー」 - このプロキシ・サービスに関連付けられたWSDLから自動的に操作のマッピングが行われるように指定する場合は、このアルゴリズムを選択します。

  • 「WS-Addressing」 - ルックアップ値がSOAPメッセージのSOAPヘッダー内のWS-Addressing Actionタグに入るように指定するには、このアルゴリズムを選択します。その後で、「操作のマッピング」フィールドにある「値」フィールドに、各操作の値を指定します。この値が操作のキーとして使用されます。

  • 「SOAPヘッダー」 - SOAPヘッダーに対して評価されるXPath式を定義するには、このアルゴリズムを選択します。これにより、ルックアップ値を取得できるようになります。その後、次の手順を実行します。

  • 「XPath式」フィールドに、呼び出される操作を選択するときにキーとして使用される値を抽出するXPath式を指定します。

  • 「操作のマッピング」フィールドで、「値」フィールドに各操作の値を指定します。この値が操作のキーとして使用されます。

  • 「SOAP本体タイプ」 - WSDL仕様で定義されたデフォルトのアルゴリズムです。受信するSOAPメッセージのタイプに基づいて呼び出す操作が計算されます。

    プロキシ・サービスを構成するWebサービス・セキュリティのパススルー・シナリオで本体が暗号化されている場合は、このアルゴリズムを選択することはできません。パススルーの暗号化されたSOAPヘッダーについても同様です。

    同じ入力メッセージで2つの操作のあるWSDLの場合、入力メッセージを調べて操作をユニークに識別できないため、このアルゴリズムを操作に選択しないでください。

  • 「ペイロード・タイプ」 - WSDLポートまたはWSDLバインドに基づいたXMLサービスでのみ使用できます。

ヘッダー名

このオプションは、「選択アルゴリズム」オプションが「トランスポート・ヘッダー」に設定されている場合にのみ使用できます。

呼び出される操作を選択するときにキーとして使用される値を抽出するトランスポート・ヘッダーを入力します。

XPath式

このオプションは、「選択アルゴリズム」オプションが「SOAPヘッダー」に設定されている場合にのみ使用できます。

呼び出される操作を選択するときにキーとして使用される値を抽出するXPath式を指定します。

操作のマッピング

このオプションは、「選択アルゴリズム」オプションが「トランスポート・ヘッダー」「WS-Addressing」または「SOAP本体タイプ」に設定されている場合にのみ使用できます。

「値」フィールドに、各操作の値を指定します。この値が操作のキーとして使用されます。


4.3.4 プロキシ・サービスの「メッセージ処理構成」ページ

プロキシ・サービスの「メッセージ処理構成」ページを使用して、表4-13で説明するメッセージ処理の様々な要素を指定します。

表4-13 プロキシ・サービスのメッセージ処理のオプション

オプション 説明

トランザクションが必要

Oracle Service Busがプロキシ・サービス・メッセージ・フローをトランザクションのコンテキスト内で実行するようにするには、このオプションを選択します。グローバル・トランザクションがすでに存在する場合は、(このオプションを選択していなくても)トランスポート・プロバイダがそのトランザクションをリクエストで伝播します。グローバル・トランザクションが存在しない場合は、メッセージ・フローのランタイムがトランザクションを開始します。メッセージ・フロー・ランタイムがトランザクションを開始すると、トランザクション・コンテキストが開始した後で、サービス構成の評価または実行(たとえば、セキュリティ・チェックまたはWS-I評価)が行われ、メッセージ・フローが実行されます。この方法により、すべての処理と実行が確実にトランザクション・コンテキスト内で行われます。

メッセージ・フローのランタイムがトランザクションを開始する場合、サービス品質は「必ず1回」です。ただし、サービス・コールアウト・アクションまたはパブリッシュ・アクションのアウトバウンド・サービス品質パラメータが「ベスト・エフォート」(デフォルト)に設定されていると、Oracle Service Busはそれらのアクションをトランザクション・コンテキスト外で実行します。Oracle Service Busによってそれらのアクションを同じリクエスト・トランザクション・コンテキスト内で実行するためには、それらのアクションのサービス品質を「必ず1回」に設定します。

このオプションの設定に関係なく、サービスではメッセージ・パターン(同期、非同期、一方向)が維持されます。

トランザクションのタイムアウトに関しては、Oracle WebLogic Serverコンソールで構成されたグローバル・トランザクションのタイムアウト値が適用されます。

トランザクションの例外

Oracle Service Busは、トランザクションが失敗するとシステム・エラー・ハンドラを呼び出します。ユーザー構成のエラー・ハンドラでは失敗トランザクションの例外を取得できません。同期パターンの場合、トランザクション例外はレスポンスを介して返されます。非同期パターンの場合、リクエスト内でコミットするようにトランザクションが設計されているため、例外はリクエスト・スレッドに送り返されます。

非同期パターンでは、リクエストでトランザクションがコミットした後でレスポンスのエラーが発生してもトランザクションには影響しません。

レスポンスに同じトランザクション

このオプションは一方向および非同期のメッセージ・パターンのみに適用されます。

このオプションを選択すると、Oracle Service Busはトランザクション・コンテキストをリクエスト・スレッドからレスポンス・スレッドに伝播します。

このオプションを選択すると、メッセージ・パターンの初期設定(非同期または一方向など)にかかわらず、メッセージ・パターンは自動的に同期になります。

たとえば、リクエストのビジネス・サービスで、トランザクションをコミットした後でレスポンスを送信する必要がある場合(一方向パターンなど)には、このオプションを使用しないでください。

トランザクションのタイムアウトに関しては、Oracle WebLogic Serverコンソールで構成されたグローバル・トランザクションのタイムアウト値が適用されます。

コンテンツのストリーミング

メッセージ・コンテンツをメモリーに格納せずにストリーミングする場合は、このオプションを選択します。

「有効」チェック・ボックスを選択し、次の項目を選択します。

  • 中間コンテンツをメモリー(「メモリー・バッファ」)またはディスク・ファイル(「ディスク・バッファ」)のいずれにバッファするか。

  • 「圧縮」を有効にするかどうか

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』の本文コンテンツのストリーミングに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG314)を参照してください。

XOP/MTOMサポート

SOAP Message Transmission Optimization Mechanism (MTOM)は、Webサービスとの間でバイナリ・データを送受信する方法です。MTOMはXML-binary Optimized Packaging (XOP)を使用してバイナリ・データを送信します。

このオプションを使用して、MTOM/XOP形式のインバウンド・メッセージをデコードおよび解析し、該当する場合にMTOM/XOP形式を使用してレスポンスを送信します。

Oracle Service Busでは、次のトランスポートを使用したXOP/MTOMがサポートされます。

  • HTTP/S

  • ローカル

  • SB

「有効」チェック・ボックスを選択して、該当する場合にプロキシ・サービスがMTOM/XOP形式でインバウンド・メッセージをデコードおよび解析し、MTOM/XOP形式を使用してレスポンスを送信できるようにすることもできます。このオプションは、前のリリースの構成に基づくインポートされたプロキシ・サービスに対しては無効になります。

「XOP/MTOMサポート」が有効になっている場合は、$headerおよび$bodyメッセージ・コンテキスト変数のバイナリ・データを処理する方法を次のオプションから選択します。

  • 「参照によるバイナリ・データを含む」: (デフォルト)インバウンド・リクエスト・メッセージで、$headerおよび$bodyメッセージ・コンテキスト変数の設定時にxop:Include要素をctx:binary-content要素で置換します。

  • 「値によるバイナリ・データを含む」:インバウンド・リクエスト・メッセージでの$headerと$bodyの各メッセージ・コンテキスト変数の設定時に、xop:Include要素をbase64エンコード・テキスト・バージョンの対応するバイナリ・データに置き換えます。

バイナリ・データに直接アクセスする必要がある場合、たとえばJavaコールアウトまたはMessage Format Language (MFL)転送にデータを渡す場合は、「値によるバイナリ・データを含む」を使用します。

「値によるバイナリ・データを含む」は次の場合に使用します。

  • MTOMとMTOM以外のサービスの間にブリッジを作成する場合。たとえば、MTOM対応でないサービスにルーティングされるリクエストを受信するMTOM対応のプロキシ・サービスについて考えます。このオプションを使用すると、既存の標準に準拠してXMLのバイナリ・データをbase64エンコード形式で送信できます。

  • バイナリ・データのかわりにbase64binary要素の使用を必要とするXMLスキーマに照らしてメッセージのコンテンツを検証する場合

「XOP/MTOMサポート」がプロキシ・サービスに対して有効になっている場合は、すべてのインバウンド・メッセージがMTOM形式である必要はありません。かわりに、この設定では、MTOM形式のメッセージが到着したときに、プロキシ・サービスでそれを適宜処理する必要があることを指定します。

「XOP/MTOMサポート」が有効になっていないプロキシ・サービスがMTOM形式のメッセージを受信した場合、サービスはメッセージを拒否し、ランタイム・エラーを発行することにも注意してください。

添付ファイル

このオプションを使用して、プロキシ・サービスでMIME添付ファイルのコンテンツをディスク・ファイルに格納し、添付ファイルのコンテンツをメモリーにバッファリングせずにストリーミング形式でデータを処理することもできます。これにより、プロキシ・サービスで、大きな添付ファイルを堅牢かつ効率的に処理できます。

Oracle Service Busでは、次のトランスポートを使用したMIME添付ファイルのストリーミングがサポートされます。

  • HTTP/S

  • ローカル(添付ファイルのストリーミングが有効になっているHTTPプロキシを通じてチェーンしている場合)

「添付ファイルのディスクへのページング」チェック・ボックスを選択すると、プロキシ・サービスがMIME添付ファイルをストリーミングできます。HTTPプロキシ・サービスに対して有効になっている場合、オプションはプロキシ・サービス・インバウンド・リクエスト・メッセージに適用されます。

「XOP/MTOMサポート」を選択した場合、「添付ファイル」オプションは、「XOP/MTOMサポート」で「参照によるバイナリ・データを含む」オプションを選択した場合にのみ使用できます。添付ファイルを含むペイロードはRFC 822に準拠している必要もあります。具体的には、インターネット・ヘッダーを含む行は、CRLF(復帰改行)で終了する必要があります。


4.3.5 プロキシ・サービスの「SOAPバインド構成」ページ

このページが表示されるのは、作成しているページに操作が含まれる場合のみです。

プロキシ・サービスの「SOAPバインディング構成」ページでは、WS-I準拠を実行して(SOAP 1.1サービスのみ)、使用する選択アルゴリズムを選び、このプロキシ・サービスが呼び出す操作を決定します。このオプションは、WSDLに基づいて定義されたSOAPサービスまたはXMLサービスでのみ使用できます。

WSDL仕様では、受信するSOAPメッセージのタイプに基づいて呼び出す操作を計算するデフォルトのアルゴリズムが定義されています。ただし、その他の手段に基づいて操作を選択しなければならない場合もあります(パフォーマンスや、署名および暗号化に問題があったり、デフォルトのアルゴリズムが使用できない場合など)。

Oracle Service Busには、アルゴリズムが追加で用意されています。これらはそれぞれ同じパターンに従っており、式の評価に基づいて値を取得し、その値を使用して静的なテーブルから対応する操作をルックアップします。

通常、Oracle Service Busは、受信メッセージが不明なデータで処理を判断できない場合や、データが有効な処理に対応していない場合にも、柔軟に対処します。どちらの場合も、$operationは空になります。Oracle Service Busでは、このようなメッセージをすべて拒否するのではなく、コンテキスト内のoperation変数を初期化せずに、メッセージの処理を続行します。

ただし、プロキシ・サービスがWSDLベースで、以下の条件の1つ以上が当てはまる場合は、セキュリティ要件が適用されます。

  • WSDLにWS-Securityポリシーが存在し、プロキシがアクティブな仲介になっています。

  • プロキシにメッセージ・レベルのカスタム認証(カスタム・トークンまたはユーザー名/パスワード)が存在します。

これらの条件に該当する場合、操作選択アルゴリズムが有効な操作名を返すかどうかを確認する実行時チェックが行われます。操作選択アルゴリズムでnullまたはWSDLに存在しない操作が返された場合、メッセージは拒否され、エラーが発生します。

表4-14 プロキシ・サービスのSOAPバインドのオプション

オプション 説明

WS-I準拠の適用

SOAP 1.1サービス専用です。

Web Services Interoperability Organizationで定義されたBasic Profileにサービスを準拠させるかどうかを指定する場合は、このチェック・ボックスを選択または選択解除します。

サービスをWS-I準拠として指定すると、サービス間で送受信されるメッセージの確認が行われます。プロキシの場合、プロキシが受信したリクエスト・メッセージの確認が行われます。呼び出されるサービス(つまり、プロキシがサービス・コールアウト・アクションまたはルート・ノード経由で呼び出すサービス)の場合、それらのサービスから受信したレスポンス・メッセージの確認が行われます。呼び出されるサービスから受信したメッセージを確認するかどうかを決定するのは、呼び出されるサービス側のWS-I準拠プロパティであり、プロキシ側ではありません。呼び出されるサービスでWS-I準拠のテストを指定すると、メッセージ・フローによってレスポンス・エラーのfaultが生成されます。


4.3.6 プロキシ・サービスの「トランスポート構成」ページ

「プロキシ・サービス・トランスポート構成」ページを使用して、プロキシ・サービスの転送プロトコルを選択し、その他の全般的なトランスポート構成設定を設定します。


注意:

インバウンド・トランスポートレベル・セキュリティは、クライアント・アプリケーションおよびOracle Service Busプロキシ・サービスに適用されます。アウトバウンド・トランスポートレベル・セキュリティは、Oracle Service Busのプロキシ・サービスとビジネス・サービスの間の接続に適用されます。

表4-15 プロキシ・サービスのトランスポート構成のオプション

オプション 説明

プロトコル

リストから転送プロトコルを選択します。使用できるプロトコルは、作成しているサービスの種類によって異なります。

  • 「WSDL Webサービス」: http、jca、jms、local、sb、ws

  • 「トランスポート型付きのサービス」 - jejb

  • 「メッセージ・サービス」: email、file、ftp、http、jms、local、mq(使用できる場合)、sftp、tuxedo

  • 「任意のSOAPサービス」: http、jms、local、sb

  • 「任意のXMLサービス」: email、file、ftp、http、jms、local、mq(使用できる場合)、sb、sftp、tuxedo

エンドポイントURI

上記の「プロトコル」フィールドで選択した転送プロトコルに基づいた形式で、エンドポイントURIを入力します。

  • email - mailfrom:mail-server-host:port

  • file - file:///root-dir/dir1

  • ftp - ftp://hostname:port/directory

  • http - /someName

    HTTPトランスポートではHTTPエンドポイントとHTTPSエンドポイントの両方がサポートされます。

  • jca - jca://<resource_adapter_jndi>

  • jejb - URL形式はejb_jndi_nameです。JEJBプロキシ・サービスに対して構成されるURIは、JEJBトランスポートによって生成されるステートレス・セッションBeanをクライアントJARのリモート/ビジネス・インタフェースで探すためのグローバルJNDI名になります。

    注意: EJB 3.0の場合、ejb_jndi_nameは生成されるBeanの@javax.ejb.Stateless注釈のmappedName属性です。生成されるEJBサービスのルックアップJNDI名の接尾辞は#interface_classであり、これはビジネス・インタフェースの完全修飾名です。

    次のようにJEJBプロキシ・サービスにアクセスできます。

    EJB 2.1 - protocol://host:port/_ejb_jndi_name

    EJB 3.0 - protocol://host:port/ejb_jndi_name#interface_class

    注意: EJBがIBM WebSphere上で実行中の場合は、ejb_jndi_nameを次の形式にしてください。

    cell/nodes/node_name/servers/server_name/ejb_jndi_name

    または

    cell/clusters/cluster_name/ejb_jndi_name

    詳細は次の場所にあるIBM WebSphereのドキュメントに記述されています。http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.iseries.doc/info/iseriesnd/ae/rnam_example_prop3.html

  • jms - jms://host:port[,host:port]*/connection_factory/jndi_destination

    JMS宛先として複数のサーバーを指定するには、次のURI形式を使用します。

    jms://host1:port,host2:port/QueueConnectionFactory/DestName

    プロキシ・サービスを作成するとき、エンドポイントのサーバーが使用可能でない場合でも、JMSエンドポイントのURIを構成できます。ただし、JMSの場合は、セッションをアクティブ化する時点でエンドポイントが使用可能である必要があります。

    ローカル・マシンで行われるルックアップの場合、ホストとポートをURIから省略することもできます。例:

    jms:///connection_factory/jndi_destination

    クラスタの場合: JMS URIのホスト名はクラスタ・サーバーのホスト名と正確に一致する必要があります。これは、クラスタ・サーバーのホスト名はWebLogic Serverに構成されているためです。

  • local

    このトランスポートではエンドポイントURIは必要ありません。

エンドポイントURI(続き)

  • mq - mq://local-queue-name?conn=mq-connection-resource-ref

    local-queue-nameは、プロキシ・サービスがメッセージを読み取るMQキューの名前です。

    mq-connection-resource-refは、MQ接続リソースの名前とパス(プロジェクト/フォルダ)です。たとえば、default/my_MQconnection

    注意: エンドポイントURIはスペースを含むことができないので、名前にスペースがあるMQ接続リソースまたはプロジェクト/フォルダを作成しないでください。

    MQトランスポートをOracle Service Busで使用できるようにするには、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のMQトランスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1117)を参照してください。

  • sb - service_name

    service_nameは、プロキシ・サービスの一意の識別子です。デフォルトでは、この名前がプロキシ・サービス名になります。

    service_nameには、(http://www.ietf.org/rfc/rfc2396.txtのRFC2396で示されているように)URIで許可されている文字のみを含める必要があります。ただし、フォワード・スラッシュ(/)またはコロン(:)を含めることはできません。

  • sftp - sftp://hostname:port/directory

  • tuxedo - servicename

    URI servicenameはリモートTuxedoドメインがTuxedoサービスとして識別するWTC Exportに一致します。

    複数のURIが指定されている場合、エンドポイントにはユニークなリソース名を付ける必要があります。リモート名が指定されていない場合は、その値がリソース名の値になります。リモート名が入力されていない、またはリモート名およびリソース名が同じである場合は、1つのURIのみを使用できます。この場合、リソース名とリモート名は同じ値です。これにより、既に定義されたWTCインポートを使用しているユーザーは、WTCロード・バランシングおよびフェイルオーバーを使用できるようになります。

    注意: 同一のURIを2つ構成すると、そのサービス名がすでに存在していることを通知するエラーが表示されます。

  • ws - /contextPath

    contextPathは、HTTPトランスポートまたはWSトランスポートを使用するプロキシ・サービスで一意である必要があります。

すべてのヘッダーを取得

トランスポートからすべてのヘッダーを取得する場合は「はい」を選択します。

定義された一連のヘッダーを取得する場合は「いいえ」を選択します。「いいえ」を選択した場合は、「ヘッダー」フィールドに一連のヘッダーを入力してから、「追加」をクリックします。この手順は、ローカル・トランスポートには該当しません。

注意: Oracle Service Busは、リクエストのHTTP Authorizationヘッダーをパイプラインに渡しません。セキュリティが脆弱になるためです。この場合、ユーザー名と暗号化していないパスワードをログ・ファイルに書き込むログ・アクションを意図せずに行う恐れがあります。パイプラインでHTTP Authorizationヘッダーが必要なパターンを設計する場合は、次の手順を実行してください。

  1. Oracle Service Busの起動コマンドで、システム・プロパティcom.bea.wli.sb.transports.http.GetHttpAuthorizationHeaderAllowedをtrueに設定します。

  2. Eclipseの「Transport Configuration」ページで、「Get All Headers」「Yes」を選択するか、「No」を選択して「Authorization」を指定します。

  3. Oracle Service Busを再起動します。

これで、Oracle Service BusはAuthorizationヘッダーをパイプラインに渡すようになります。


4.3.7 プロキシ・サービスの「サービス・ポリシー構成」ページ

プロキシ・サービスの「サービス・ポリシー構成」ページを使用して、プロキシ・サービスのサービス・ポリシーを構成します。

表4-16 プロキシ・サービスのサービス・ポリシーのオプション

オプション 説明

OWSMポリシー・ストアから

ポリシーは、Oracle Enterprise Managerで管理されている中央のOracle Web Services Managerポリシー・ストアで定義されます。対象のポリシーはWS-Security 1.0/1.1、SAML 1.1/2.0、KerberosTokenプロファイル、およびその他の業界標準をサポートしています。

Oracle Web Services ManagerポリシーをIDEのサービスに追加するには、Oracle Web Services Managerが有効になっている実行中サーバーに接続している必要があります。

注意: Eclipseで複数のサーバーを操作するとき、EclipseはOracle Web Services Managerポリシーを取得するために、サーバー・リストの最初の有効なOracle Service Busサーバーを選択します。

カテゴリのフィルタ処理を使用すると、必要なポリシーを探すときに役立ちます。プロキシ・サービスの場合、サービス・ポリシーのみが表示されます。

ポリシーを追加した後で、「セキュリティ」ページでオーバーライドを指定できます。

詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerでのOracle Service Busの保護に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1681)を参照してください。

WSDLから

サービス・ポリシーが、サービスの基準となるWSDLに関連付けられている場合は、このオプションを選択します。対象のポリシーはWS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。

事前定義ポリシーまたはWS-Policyリソースから

サービス・レベル・ポリシー、操作レベル・ポリシー(この場合、ポリシーはリクエスト・メッセージおよびレスポンス・メッセージの両方に適用される)、リクエスト・ポリシー、およびレスポンス・ポリシーを直接追加するには、このオプションを選択します。

ポリシーはOracle WebLogic Serverで事前定義されるか、Oracle Service BusでWS-Policyリソースとともにユーザー定義されるかのいずれかです。対象のポリシーはWS-Security 1.0、SAML 1.1およびその他の業界標準をサポートしています。


4.3.8 プロキシ・サービスの「セキュリティ構成」ページ

プロキシ・サービスの「メッセージ・レベル・セキュリティ構成」ページを使用して、プロキシ・サービスのセキュリティを構成します。

WLS 9.2ポリシーでは、メッセージレベルのカスタム・トークン、およびメッセージレベルのユーザー名とパスワードが次のバインド・タイプのプロキシ・サービスでサポートされます。

  • WSDL-SOAP

  • WSDL-XML

  • 抽象SOAP

  • 抽象XML

  • 混合 - XML (リクエスト内)

  • 混合 - MFL (リクエスト内)

カスタム・ユーザー名/パスワードとカスタム・トークンの構成は、ほぼ同じです。どちらの場合も、Oracle Service Busで必要な情報を検索できるようにするためのXPath式を指定します。これらのXPath式のルートは以下のとおりです。

  • サービスのバインドがAnySOAPまたはWSDL-SOAPの場合は、soap-env:Envelope/soap-env:Headerを使用します。

  • サービスのバインドがSOAPベースでない場合はsoap-env:Bodyを使用します。

すべてのXPath式は有効なXPath 2.0形式である必要があります。使用するネームスペースをXPath式で宣言するには、次のようなXPathの"declare namespace"構文を使用します。

declare namespace ns='http://webservices.mycompany.com/MyExampleService';)

表4-17 プロキシ・サービスのメッセージレベル・セキュリティのオプション

オプション 説明

サービス・キー・プロバイダ

サービスによって使用されるサービス・キー・プロバイダの名前です。

パス(プロジェクト/フォルダ)とサービス・キー・プロバイダの名前を入力するか、「参照」をクリックしてサービス・キー・プロバイダを選択します。

サービス・キー・プロバイダは、以下のような特定の場合にのみ必要となります。

  • 双方向のアウトバウンドTLS/SSLで、クライアント証明書認証を必要とするHTTPSサービスに対してプロキシ・サービスからメッセージをルーティングする場合。

  • 一部のWebサービス・セキュリティのシナリオ(プロキシ・サービスでメッセージの暗号化を必要とする場合など)。

Webサービス・セキュリティ対応のプロキシ・サービスを追加するには、WS-Policyが付加されたWSDL (ポートまたはバインディング)からプロキシ・サービスを作成する必要があります。

ポリシーのオーバーライド

OWSMポリシーでは、許可されているオーバーライドを必要なだけ指定します。

詳細は、表4-16と、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のOracle Web Services ManagerでのOracle Service Busの保護に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1681)を参照してください。

WS-Securityヘッダーの処理

クライアントのリクエストにWS-Securityセキュリティ・ヘッダーが含まれている場合、このヘッダーを処理するかどうかを指定します。

  • 「はい」を選択すると、アクティブな仲介のシナリオで、クライアントは、WS-Securityをリクエスト・メッセージやレスポンス・メッセージに適用します。プロキシ・サービスが、セキュリティ・ヘッダーを処理してWS-Securityポリシーを適用します。

    プロキシ・サービスがセキュリティ・ポリシーを備えるWSDLを基準とするとき、あるいは「サービス・ポリシー構成」ページのサービスにユーザーがポリシーをアタッチしているとき、このオプションは自動的に「はい」に設定されます。

  • 「いいえ」を選択すると、WS-Securityパススルーのシナリオで、クライアントは、WS-Securityをリクエスト・メッセージやレスポンス・メッセージに適用します。プロキシ・サービスは、セキュリティ・ヘッダーを処理しません。そのかわりに、セキュアなリクエスト・メッセージをそのままビジネス・サービスに渡します。

カスタム認証設定

以下のいずれか1つを選択します。

  • 「なし」 - サービスでカスタム認証を使用しない場合。

  • 「カスタム・ユーザー名とパスワード」 - サービスで、Path式によって指定されたカスタム名とパスワードを使用する場合。

  • 「カスタム・トークン」 - サービスでカスタム・トークンを使用する場合。

カスタム・ユーザー名とパスワード - ユーザー名XPath

XPath式として指定されたユーザー名です。

XPath式は、必要に応じて、メッセージ・ヘッダーまたはペイロードに対して評価されます。これにより、Oracle Service Busがカスタム認証用のユーザー名を取得できます。

カスタム・ユーザー名とパスワード - ユーザー・パスワードXPath

XPath式として指定されたパスワードです。

XPath式は、必要に応じて、メッセージ・ヘッダーまたはペイロードに対して評価されます。これにより、Oracle Service Busがカスタム認証用のパスワード値を取得できます。

カスタム・トークン - トークン・タイプ

カスタム・トークンの種類を入力します。Oracle WebLogic Server IDアサーション・プロバイダ用に構成されたアクティブ・トークン・タイプのみを使用できます。

カスタム・トークン - トークンXPath

カスタム・トークンのパスを指定するXPath式です。Oracle Service Busは、必要に応じて、メッセージ・ヘッダーまたはペイロードに対して「トークンXPath」式を評価して、カスタム認証用のトークンを取得します。

式を作成または編集するには、「<XPath>」(定義済の場合は、expression_fragment)をクリックして、XPath式エディタを表示します。

カスタム・ユーザー名とパスワード - コンテキスト・プロパティ

または

カスタム・トークン - コンテキスト・プロパティ

(オプション) 1つまたは複数のコンテキスト・プロパティを指定して、認証(「カスタム・ユーザー名とパスワード」)またはIDアサーション(「カスタム・トークン」)セキュリティ・プロバイダに追加コンテキスト情報を渡します。

「コンテキスト・プロパティ」により、セキュリティ・プロバイダがコンテキスト情報を得られるように、追加情報をWebLogic Security Frameworkに渡す方法(ContextHandlerインタフェース)が提供されます。

「プロパティ名」をリテラル文字列で入力し、「値セレクタ」に有効なXPath式を入力します。XPath式にリテラル文字列を使用することも可能です。

XPath式は、カスタム・トークンまたはカスタム・ユーザー名/パスワードで使用されているのと同じメッセージ部に対して評価されます。つまり、「値セレクタ」のXPath式は、SOAPベースのプロキシ・サービスの場合はヘッダーに関して評価され、非SOAPベースのプロキシ・サービスの場合はペイロードに関して評価されます。

XPath式は、実行時に評価され、プロパティの値を生成します。ContextHandlerは名前と値のリストであるため、セキュリティ・プロバイダが検索対象の名前を認識している必要があります。そのため、セキュリティ・プロバイダがこれらのユーザー定義プロパティのいずれかの値を要求した場合にのみXPath式は評価されます。

「プロパティの追加」をクリックして、このコンテキスト・プロパティを追加します。複数のコンテキスト・プロパティを追加することができます。


4.4 Oracle Service Busの構成とプロジェクト

以下を使用して、Oracle Service Bus構成およびプロジェクトの操作を行います。

4.4.1 Oracle Service Busの「構成」ビュー

このビューでは、すべてのOracle Service Bus構成とそこに含まれるプロジェクトが階層状に一覧表示されます。4.4.2項「新しいOracle Service Bus構成プロジェクト・ウィザード」も参照してください。

構成ビューでは、以下の作業を行うことができます。

  • 構成を編集します。

    1. 編集する構成を右クリックします。

    2. メニューから「プロパティ」を選択します。

    3. 必要に応じて、Oracle Service Bus構成ページで情報を変更します。

  • 新しい構成を作成します。

    1. ビュー内の任意の場所を右クリックします。

    2. メニューから新しいOracle Service Bus構成を選択します。

    3. 必要に応じて、Oracle Service Bus構成ページで情報を入力します。

  • プロジェクトを移動元の構成から移動先の構成にドラッグして、構成間でプロジェクトを移動します。プロジェクト・エクスプローラからプロジェクトをドラッグすることもできます。

  • 構成プロジェクトを削除します。

    1. 削除する構成を右クリックします。

    2. メニューから「削除」を選択します。

4.4.2 新しいOracle Service Bus構成プロジェクト・ウィザード

このウィザードを使用して、Oracle Service Bus構成プロジェクトを作成します。構成のオプションについては、4.4.3項「Oracle Service Bus構成ページ」を参照してください。

4.4.3 Oracle Service Bus構成ページ

Oracle Service Bus構成プロジェクトは、Oracle Service Busプロジェクトとサーバーで使用されるリソース、システム・リソースの場所(SMTP、UDDIなど)、および検証用のコンテナをグループ化したものです。たとえば、あるOracle Service Bus構成に関連付けられているプロジェクトのリソースは、別のOracle Service Bus構成に関連付けられているプロジェクトのリソースを参照できません。

このページを使用して、新しいOracle Service Bus構成プロジェクトを作成します(「新しいOracle Service Bus構成プロジェクト」ウィザード)。または、既存のOracle Service Bus構成プロジェクトを構成します(Oracle Service Bus構成エディタの「プロパティ」)。

予約ファイル、セッション・ファイル、およびカスタマイズ・ファイルの設定は、Oracle Service Bus構成をサーバーにパブリッシュする際に使用され、さらに、エクスポート・ウィザード - サーバーへエクスポート - リソースの選択ページを構成する際にデフォルトとして使用されます。

表4-18 Oracle Service Bus構成のオプション

オプション 説明

構成名

このOracle Service Bus構成の名前を入力するか、デフォルトをそのまま使用します。

環境変数値の保存

リソースを再インポートするが、既存のリソースの環境変数値は保存する場合はこのチェック·ボックスを選択します。

セキュリティとポリシーの設定の保存

このチェック・ボックスは、セキュリティの構成(アクセス制御ポリシーを除く)と、サービスに直接バインドされるWS-Policyへの参照を(WSDLへのバインドのかわりに)保存する場合にオンにします。

資格証明(ユーザー名/パスワード) の保存

このチェック・ボックスは、サービス・キー・プロバイダのPKI資格証明情報、サービス・アカウントのユーザー名とパスワード、およびSMTPサーバー、JNDIプロバイダ、UDDIレジストリのユーザー名とパスワード資格証明情報を保存する場合にオンにします。

アクティブ化に失敗した場合にセッションを破棄

このチェック・ボックスは、競合などによってアクティブ化に失敗したときにセッションを破棄する場合にオンにします。

セッション名

セッション名です。

説明

セッションの説明です。

デプロイメント・カスタマイズ・ファイル

カスタマイズ・ファイル(.xml)を指定するか、「参照」をクリックしてファイルを探し開くをクリックします。カスタマイズの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のカスタマイズ・ファイルの作成に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1360)を参照してください。

キーストア・ファイル

キーストア・ファイル(.jks)ファイルを指定するか、「参照」をクリックしてファイルを探し、開くをクリックします。

キーストアの設定は、サービス・キー・プロバイダを構成するときに使用されます。

パスワード

キーストアへのアクセスをセキュリティで保護するために使用するパスワードを入力します。

サーバー

このOracle Service Bus構成に関連付けられるサーバーの名前です。選択対象のサーバーが1台のみの場合は、この設定は自動的に構成されます。同じOracle Service Bus構成に複数のサーバーが関連付けられている場合は、リストを使用して、このOracle Service Bus構成に関連付けるサーバーを選択します。

サーバー設定は、サーバーに接続することでトランスポートにメリットがある場合(たとえば、HTTPトランスポートでディスパッチ・ポリシー設定を構成する場合)に、トランスポート固有の構成でのみ使用されます。


4.4.4 新しいOracle Service Busプロジェクト

このページを使用して、新しいOracle Service Busプロジェクトを作成します。

表4-19 新しいOracle Service Busプロジェクトのオプション

オプション 説明

プロジェクト名

プロジェクトの一意の名前を入力します。

Oracle Service Bus構成

既存のOracle Service Bus構成を選択するか、「新規」をクリックして新しいOracle Service Bus構成プロジェクト・ウィザードを開きます。このウィザードを使用して、新しい構成を作成できます。


4.5 カスタム・リソース

「新しいカスタム・リソース」ウィザードおよびカスタム・リソース・エディタを使用して、次のトピックの説明に従ってOracle Service Busで使用するカスタム・リソースを定義します。

4.5.1 新しいカスタム・リソース・ウィザード

このウィザードを使用して、新しいカスタム・リソースを作成します。

4.5.2 新しいカスタム・リソース・エディタ

このエディタはカスタム・リソースの構成を変更するために使用します。「全般」ページでカスタム・リソースの種類を指定します。「カスタム」ページには、カスタム・リソースの種類の構成を編集するためのオプションが用意されています。

4.5.3 新しいカスタム・リソース - 「リソース・タイプ」ページ

このページを使用して、作成するカスタム・リソースの種類を選択します。使用可能なリソースの種類のリストから、作成するカスタム・リソースの種類を選択します。

4.5.4 カスタムMQの「リソース構成」ページ

このページを使用して、カスタムMQ接続リソースを構成します。MQ接続リソースおよびMQトランスポートについては、以下を参照してください。

表4-20 MQリソースのオプション

オプション 説明

接続タイプ

MQキュー・マネージャに接続するには、以下のいずれかのモードを選択します。

  • 「tcpモード」 - Oracle Service Busと同じマシンに存在しないキュー・マネージャに接続するには、TCP/IPを使用します。

  • 「バインド・モード」 - Oracle Service Busと同じマシンに存在するキュー・マネージャに接続するには、バインド・モードを使用します。

MQホスト名

(「tcpモード」接続の場合のみ)

MQキュー・マネージャのホスト名を入力します。

MQポート番号

(「tcpモード」接続の場合のみ)

MQキュー・マネージャ・リスナーのポート番号を入力します。

MQキュー・マネージャ名

接続先のMQキュー・マネージャの名前を入力します。

キュー・マネージャCCSID

(「tcpモード」接続の場合のみ)

接続を確立するときに使用されるCCSID (coded character set identifier)です。CCSIDは、主に国際化をサポートする目的で使用されます。

詳細は、IBM WebSphere MQ Fundamentals(http://www.redbooks.ibm.com/redbooks/SG247128/wwhelp/wwhimpl/java/html/wwhelp.htm)を参照してください。

MQキュー・マネージャのチャネル名

(「tcpモード」接続の場合のみ)

キュー・マネージャのサーバー接続チャネル名を入力します。

SSLが必要

(「tcpモード」接続の場合)

このチェック・ボックスを選択すると、メッセージの送信にSSLが使用されます。「双方向SSLが必要」オプションが選択されていない場合、サーバー側のSSLのみが有効になります。

暗号セット

このオプションは、「SSLが必要」チェック・ボックスが選択されている場合のみ使用できます。

SSLで使用される暗号スイート・アルゴリズムを選択します。

暗号スイート・アルゴリズムは、WebSphere MQサーバーとWebSphere MQクライアントの間のメッセージ通信を暗号化および復号化する際に使用されます。そのため、SSLを使用してWebSphere MQサーバーと通信する場合は、暗号スイート・アルゴリズムを指定する必要があります。

双方向SSLが必要

このオプションは、「SSLが必要」チェック・ボックスが選択されている場合のみ使用できます。

このチェック・ボックスを選択すると、クライアント側およびサーバー側のSSL認証が両方とも有効になります。

サービス・キー・プロバイダへの参照

「双方向SSLが必要」を選択した場合は、適切なキーストアと信頼ストアの情報を取得するために、サービス・プロバイダへの参照を提供する必要があります。

サービス・キー・プロバイダのパス(プロジェクト/フォルダ)と名前を入力するか、「参照」をクリックして、「サービス・キー・プロバイダの選択」ページから選択します。

静的なサービス・アカウントへの参照

(「tcpモード」接続の場合のみ)

ユーザー名とパスワードによる認証に必要です。静的なサービス・アカウントのパス(プロジェクト/フォルダ)および名前を入力するか、「参照」をクリックし、ブラウザからサービス・アカウントを選択します。

WebSphere MQバージョン

WebSphere MQのバージョンを選択します。

  • 5.3

  • 6.0

MQ接続プール・サイズ

MQ接続プールのサイズを入力します。

MQ接続タイムアウト

未使用の接続が破棄されるまでの時間間隔を秒単位で入力します。デフォルトは1800秒。

MQ接続Max Wait

接続が使用可能になるまでの応答の待ち時間に、秒単位で最大待機時間を入力します。その時間内に接続が確立されない場合、Oracle Service Busが例外を送出します。デフォルトは3秒です。


4.6 エクスポート・ウィザード

「エクスポート」ウィザードには、以下のページが含まれます。

4.6.1 エクスポート・ウィザード - Oracle Service Bus構成JARエクスポート・ページ

このページを使用して、Oracle Service Busリソースを構成JARファイルにエクスポートします。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のリソースのエクスポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1320)を参照してください。

表4-21 構成JARのエクスポート・オプション

オプション 説明

Oracle Service Bus構成

エクスポートする既存のOracle Service Bus構成およびリソースを選択します。エクスポートしないリソースを選択解除します。

エクスポート・レベル

プロジェクトのエクスポートまたはリソースのエクスポートを選択します。

注意

システムプロジェクトは、プロジェクト・レベルでエクスポートできません。

フル・プロジェクトJARファイルをインポートすると、プロジェクトのエクスポートによりリソースが削除されることがあります。

依存関係を含める

リソースのエクスポートを選択した場合は、このチェック・ボックスをオンまたはオフにします。「依存関係を含める」オプションを使用すると、このリソースが参照している他のリソースをすべてエクスポートできます。

エクスポート先

エクスポートするJARファイルの完全修飾名を入力するか、または、「参照」をクリックして選択します。


4.6.2 エクスポート・ウィザード - サーバーにエクスポート - リソースの選択ページ

このページを使用して、エクスポートするプロジェクトまたはリソースを選択します。リソースをこのエクスポートに含めない場合は、リソースの横のチェック・ボックスをオフにします。

表4-22 リソースのエクスポート・オプション

オプション 説明

リソース

プロジェクトおよびリソースの名前です。

エクスポートしないリソースを選択解除します。

操作

作成または更新を選択します。リソースに対して行われる操作です。

依存関係を含める

リソース(プロジェクトではない)をエクスポートする場合に、関連するリソースをすべてエクスポートするときは、このチェック・ボックスをオンにします。

環境変数値の保存

エクスポートするリソースの環境変数値を保存する(上書きされないようにする)場合は、このチェック・ボックスをオンにします。

セキュリティとポリシーの設定の保存

このチェック・ボックスは、セキュリティの構成(アクセス制御ポリシーを除く)と、サービスに直接バインドされるWS-Policyへの参照を(WSDLへのバインドのかわりに)保存する場合にオンにします。

資格証明(ユーザー名/パスワード) の保存

このチェック・ボックスは、サービス・キー・プロバイダのPKI資格証明情報、サービス・アカウントのユーザー名とパスワード、およびSMTPサーバー、JNDIプロバイダ、UDDIレジストリのユーザー名とパスワード資格証明情報を保存する場合にオンにします。

パブリッシュ後にセッションをアクティブ化

Oracle Service Busコンソールでセッションを作成してアクティブ化する場合は、このチェック・ボックスを選択します。

アクティブ化に失敗した場合にセッションを破棄

このチェック・ボックスは、競合などによってアクティブ化に失敗したときにセッションを破棄する場合にオンにします。

説明

セッションの説明です。

カスタマイズ・ファイル

カスタマイズ・ファイル(.xml)を指定するか、「参照」をクリックしてファイルを探し開くをクリックします。カスタマイズの詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のカスタマイズ・ファイルの作成に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1360)を参照してください。


4.6.3 エクスポート・ウィザード - サーバーにエクスポート - リソースの確認ページ

このページを使用して、エクスポートするプロジェクトまたはリソースを選択します。

表4-23 リソースのエクスポート・オプション

オプション 説明

Oracle Service Bus構成

エクスポートする既存のOracle Service Bus構成およびリソースを選択します。

エクスポート・レベル

プロジェクトのエクスポートまたはリソースのエクスポートを選択します。

サーバー

リストからOracle Service Bus宛先サーバーを選択します。

セッション

セッション名です。


4.7 インポート・ウィザード

「インポート」ウィザードには、以下のページが含まれます。

4.7.1 インポート・ウィザード - 構成JARのインポート - 「リソースのロード」ページ

このページを使用して、インポートする構成JARとインポート先を選択します。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のリソースのインポートに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG1312)を参照してください。

表4-24 構成JARのインポート

オプション 説明

Oracle Service Bus構成

既存のOracle Service Bus構成を選択するか、「新規」をクリックして新しいOracle Service Bus構成プロジェクト・ウィザードを開きます。このウィザードを使用して、新しい構成を作成できます。

JAR

他のOracle Service Busドメインからあらかじめエクスポートした完全なプロジェクトJARファイル、またはリソースJARファイルを選択します。


4.7.2 インポート・ウィザード - 構成JARのインポート - リソースの確認ページ

このページを使用して、操作(作成、更新または削除)の対象となるオブジェクトを選択します。リソースの削除は、インポートするJARがプロジェクト全体のJARであり、インポートするJARファイルに存在しないプロジェクト・リソースがインポート先システムに存在する場合にのみ行われます。リソースが削除されないようにするには、選択解除します。

表4-25 構成JARのインポート・オプション

オプション 説明

リソース

プロジェクトおよびリソースの名前です。

操作

リソースで実行される操作(作成、更新、削除)を表示するには、プロジェクト・フォルダを展開します。

リソースが削除されないようにするには、選択解除します。リソースの削除は、インポートするJARがプロジェクト全体のJARであり、インポートするJARファイルに存在しないプロジェクト・リソースがインポート先システムに存在する場合にのみ行われます。

依存関係を含める

リソースJARファイルをインポートして、すべての関連リソースがインポートされたのを保証したい場合は、チェック・ボックスを選択します。

パスフレーズ

データを暗号化するのに使用されたパスワードを入力します。

環境変数値の保存

リソースを再インポートするが、既存のリソースの環境変数値は保存する場合はこのチェック·ボックスを選択します。

セキュリティとポリシーの設定の保存

セキュリティの構成(アクセス制御ポリシーを除く)と、サービスに直接バインドされるWS-Policyへの参照(WSDLへのバインドのかわりに)を保持するには、チェック・ボックスを選択します。

資格証明(ユーザー名/パスワード) の保存

このチェック・ボックスは、サービス・キー・プロバイダのPKI資格証明情報、サービス・アカウントのユーザー名とパスワード、およびSMTPサーバー、JNDIプロバイダ、UDDIレジストリのユーザー名とパスワード資格証明情報を保存する場合にオンにします。


4.7.3 インポート・ウィザード - 構成ZIPのインポート - 「リソースのロード」ページ

このページを使用して、インポートするリソースとインポート先を含むZIPファイルを選択します。

表4-26 構成ZIPのインポート

オプション 説明

Oracle Service Bus構成

既存のOracle Service Bus構成とインポート先(プロジェクトまたはフォルダ)を選択します。

ファイル名

インポートするZIPファイルの完全修飾名を入力するか、または、「参照」をクリックして選択します。


4.7.4 インポート・ウィザード - 構成ZIPのインポート - リソースの確認ページ

このページを使用して、インポートするオブジェクトを選択します。このインポートに含めないリソースは、横にあるチェック・ボックスを選択解除します。

表4-27 構成ZIPのインポート・オプション

オプション 説明

リソース

プロジェクトおよびリソースの名前です。

操作

作成または更新を選択します。リソースに対して行われる操作です。

ファイル名

拡張子付きのリソース・ファイル名です。


4.7.5 インポート・ウィザード - URLのインポート - 「リソースのロード」ページ

このページを使用して、Web上で入手できるWSDLまたはXMLスキーマなどのリソースをインポートします。ルート・リソースのURLを指定すると、すべての依存関係を含めてインポートできます。

表4-28 URLのインポート・オプション

オプション 説明

Oracle Service Bus構成

既存のOracle Service Bus構成とインポート先(プロジェクトまたはフォルダ)を選択します。

URL

ファイルが置かれている場所のURLを入力します。

ローカル・リソースを指定する場合は、fileプロトコルを使用し、パスで完全修飾されたファイル名を指定します(例: file:///c:/alsbresources/ForeachAction.jar)。

リソース名

リソースの名前を入力します。

リソース・タイプ

リストからリソースの種類を選択します。


4.7.6 インポート・ウィザード - URLのインポート - リソースの確認ページ

このページを使用して、インポートするオブジェクトを選択します。このインポートに含めないリソースは、横にあるチェック・ボックスを選択解除します。

表4-29 URLのインポート・オプション

オプション 説明

リソース

プロジェクトおよびリソースの名前です。

操作

作成または更新を選択します。リソースに対して行われる操作です。

URL

ファイルが置かれている場所のURLを入力します。

ローカル・リソースを指定する場合は、fileプロトコルを使用し、パスで完全修飾されたファイル名を指定します(例: file:///c:/alsbresources/ForeachAction.jar)。


4.8 JNDIプロバイダ

以下を使用して、JNDIプロバイダの操作を行います。

4.8.1 JNDIプロバイダ・エディタ

このエディタを使用して、既存のJNDIプロバイダ構成を変更します。フィールドの詳細は、4.8.2項「新しいJNDIプロバイダ・リソース・ウィザード」を参照してください。

4.8.2 新しいJNDIプロバイダ・リソース・ウィザード

このページを使用して、新しいJNDIプロバイダ・リソースを構成します。

表4-30 新しいJNDIプロバイダ・リソースのオプション

オプション 説明

説明

JNDIプロバイダの説明を入力します。

JNDIキャッシュ

デフォルトの「有効」オプションのままにしておくか、または「無効」を選択します。

有効にすると、JNDIコンテキストおよびJNDIオブジェクトがローカルにキャッシュされ、オブジェクトのルックアップを行うときのパフォーマンスが向上します。JNDIキャッシュを有効にしておくことをお薦めします。

プロバイダURL

protocol://host:portの形式でJNDIプロバイダのURLを入力します。

次のように任意のプロトコルを使用できます。

http, https, t3, t3s, iiop, iiops

JNDIリクエスト・タイムアウト

JNDIリクエストのタイムアウト(ミリ秒)です。デフォルト値0ではタイムアウトが行われません。

ユーザー名

目的のJNDIプロバイダにアクセスするためにユーザー名およびパスワードが必要な場合、「ユーザー名」フィールドにユーザー名を入力して、関連するパスワードを「パスワード」および「パスワードの確認」フィールドに入力します。

これらのフィールドは省略可能です。JNDIツリーが保護されている場合にのみ必要となります。

パスワード

ユーザー名に関連付けられているパスワードを入力します。

パスワードの確認

「パスワード」フィールドに入力したものと同じパスワードを入力します。


4.9 プロキシ・サーバー

新しいプロキシ・サーバーを作成した後で、このページを使用してプロキシ・サーバー・リソースを構成および編集します。

表4-31 プロキシ・サーバー構成のオプション

オプション 説明

説明

プロキシ・サーバー・リソースの説明を入力します。

ユーザー名

プロキシ認証に使用するユーザー名を入力します。

パスワード

ユーザー名に関連付けられるパスワードを入力します。

パスワードの確認

「パスワード」フィールドに入力したものと同じパスワードを入力します。

ホスト-ポート・パラメータ

プロキシ・サーバー・ホストのリスト。各プロキシ・サーバー・リソースに複数のプロキシ・サーバーを構成できます。これにより、Oracle Service Busでロード・バランシングを実行し、プロキシ・サーバー・リソースにフォルト・トレランス機能を提供できます。

使用可能なオプションは次のとおりです。

  • 「追加」をクリックして次の情報を指定して、リソースの新しいプロキシ・サーバーを構成します。

  • サーバー・ホスト:プロキシ・サーバーのホスト名またはIPアドレス。

    Oracle Service Busプロキシ・サーバーのサーバー・ホスト名は、実際のプロキシ・サーバーのサーバー・ホスト名と同じである必要です。

  • クリア・テキスト・ポート:プロキシ・サーバーのクリア・テキスト・ポート番号。

  • SSLポート:プロキシ・サーバーのSSLポート番号。

  • リストでプロキシ・サーバーを選択し、「ホスト-ポート・パラメータ」を編集します。

  • リストでプロキシ・サーバーを選択し、「削除」をクリックしてリソース構成からそのサーバーを削除します。


4.10 メッセージ・フロー・デザイン・パレット

メッセージ・フロー・デザイン・パレットには、プロキシ・サービス用のメッセージ・フローを構築するために使用できるすべてのノードとアクションが一覧表示されます。メッセージ・フローにノードまたはアクションを挿入するには、パレットからメッセージ・フロー・エディタへ項目をドラッグします。パレットに項目をドラッグすると、ドラッグしてきた項目をパレット内の位置にドロップできることを示す1つまたは複数のターゲット・アイコンが表示されます。項目をターゲット上にドラッグすると、ターゲット・アイコンが強調表示され、そこに項目をドロップできることがわかります。

メッセージ・フロー・エディタでオブジェクトを右クリックして、「挿入」これに挿入またはこれの後ろに挿入サブメニューからノードやアクションを選択することにより、メッセージ・フローにノードとアクションを追加することもできます。また、「エラー・ハンドラの追加」コマンドを選択して、エラー・ハンドラを追加することもできます。これらのサブメニューおよびコマンドは、コンテキストに依存します。つまり、メッセージ・フローで選択されたコンテキストに項目を追加することが認められている場合にのみ表示されます。

メッセージ・フロー・デザイン・パレットについては、以下のカテゴリに整理されています。

4.10.1 メッセージ・フロー・ノード

メッセージ・フローに追加できるノードについて次の表で説明します。

表4-32 メッセージ・フロー・ノード

ノード 説明

条件付きブランチ

ブランチ・ノードを使用すると、可能ないくつかのパスのうちの1つに限定して処理を進ませることができます。

構成のプロパティは、4.11.3項「条件付きブランチ・ノードのプロパティ」を参照してください。

オペレーション・ブランチ

オペレーション・ブランチ・ノードでは、指定された操作に基づいてどのブランチに進むかが判断されます。

構成のプロパティは、4.11.17項「オペレーション・ブランチ・ノードのプロパティ」を参照してください。

パイプライン・ペア

パイプライン・ペア・ノードはリクエスト・パイプラインとレスポンス・パイプラインから成ります。

構成のプロパティは、4.11.18項「パイプライン・ペア・ノードのプロパティ」を参照してください。

ルート

ルート・ノード・アクションは、ルート・ノードを通過する際のメッセージの処理を定義します。

構成のプロパティは、4.11.27項「ルート・ノードのプロパティ」を参照してください。

ステージ

ステージ・ノードは、アクションのコンテナです。

構成のプロパティは、4.11.33項「ステージ・ノードのプロパティ」を参照してください。

エラー・ハンドラ

エラー・ハンドラは、メッセージ・フローでエラーを再送するロジックを提供します。

構成のプロパティは、4.11.7項「エラー・ハンドラ・ノードのプロパティ」を参照してください。


4.10.2 メッセージ・フローのルート・アクション - 通信アクション

メッセージ・フローのルートに追加できる通信アクションを次の表で説明します。

表4-33 メッセージ・フロー・ルート・ノードの通信アクション

アクション 説明

動的ルーティング

動的ルーティング・アクションは、XQueryリソースで入手できるルーティング情報に基づいて、メッセージのルートを割り当てます。

構成のプロパティは、4.11.6項「動的ルーティング・アクションのプロパティ」を参照してください。

ルーティング

ルーティング・アクションは、メッセージのターゲット・サービスを指定し、サービスにメッセージをルーティングする方法を構成します。

構成のプロパティは、4.11.28項「ルーティング・アクションのプロパティ」を参照してください。

ルーティング表

ルーティング・テーブル・アクションは、切替え式の条件表に含まれた一連のルートを割り当てます。単一のXQuery式の結果に基づいて、異なるルートが選択されます。

構成のプロパティは、4.11.30項「ルーティング表アクションのプロパティ」を参照してください。


4.10.3 メッセージ・フローのルート・アクション - フロー制御アクション

メッセージ・フローのルートに追加できるフロー制御アクションを次の表で説明します。

表4-34 メッセージ・フロー・ルート・ノードのフロー制御アクション

アクション 説明

If-Then

If-Thenアクションは、XQuery式のブール結果に基づいて、1つまたは複数のアクションを条件付きで実行します。

構成のプロパティは、4.11.9項「If-Thenアクションのプロパティ」を参照してください。


4.10.4 メッセージ・フローのステージ・アクション - 通信アクション

メッセージ・フローのステージに追加できる通信アクションを次の表で説明します。

表4-35 メッセージ・フロー・ステージ・ノードの通信アクション

アクション 説明

動的にパブリッシュ

動的パブリッシュ・アクションは、XQuery式で指定されたサービスにメッセージをパブリッシュします。

構成のプロパティは、4.11.5項「動的パブリッシュ・アクションのプロパティ」を参照してください。

パブリッシュ

パブリッシュ・アクションは、静的に指定されたサービスにメッセージをパブリッシュします。

構成のプロパティは、4.11.19項「パブリッシュ・アクションのプロパティ」を参照してください。

パブリッシュ表

パブリッシュ・テーブル・アクションは、ゼロまたはそれ以上の静的に指定されたサービスにメッセージをパブリッシュします。切替え式の条件ロジックを使用して、どのサービスをパブリッシュに使用するか実行時に決定します。

構成のプロパティは、4.11.20項「パブリッシュ表アクションのプロパティ」を参照してください。

ルーティング・オプション

ルーティング・オプション・アクションは、アウトバウンド・リクエストのURI、サービスの品質、モード、再試行パラメータ、メッセージ優先度のプロパティの一部またはすべてを変更します。

構成のプロパティは、4.11.29項「ルーティング・オプション・アクションのプロパティ」を参照してください。

サービス・コールアウト

サービス・コールアウト・アクションは、Oracle Service Busに登録済みのプロキシ・サービスまたはビジネス・サービスの同期(ブロック)コールアウトを構成します。

構成のプロパティは、4.11.31項「サービス・コールアウト・アクションのプロパティ」を参照してください。

トランスポート・ヘッダー

トランスポート・ヘッダー・アクションは、メッセージのトランスポート・ヘッダーの値を設定します。

構成のプロパティは、4.11.34項「トランスポート・ヘッダー・アクションのプロパティ」を参照してください。


4.10.5 メッセージ・フローのステージ・アクション - フロー制御アクション

メッセージ・フローのステージに追加できるフロー制御アクションについて次の表で説明します。

表4-36 メッセージ・フロー・ステージ・ノードのフロー制御アクション

アクション 説明

For-Each

For-Eachアクションは、一連の値の反復処理およびアクションのブロックを実行します。

構成のプロパティは、4.11.8項「For-Eachアクションのプロパティ」を参照してください。

If-Then

If Thenアクションは、XQuery式のブール結果に基づき、1つまたは複数のアクションを条件付きで実行します。

構成のプロパティは、4.11.9.1項「IfアクションとElse-Ifアクションのプロパティ」を参照してください。

エラーの生成

エラーの生成アクションは、指定したエラー・コード(文字列)と説明を使用して例外を発生させます。

構成のプロパティは、4.11.21項「エラーの生成アクションのプロパティ」を参照してください。

返信

返信アクションは、呼出し元に即時に返信されるように指定します。

構成のプロパティは、4.11.24項「返信アクションのプロパティ」を参照してください。

スキップ

スキップ・アクションは、実行時に現在のステージの実行がスキップされて、処理がメッセージ・フローの次のステージに進むように指定します。

構成のプロパティは、4.11.32項「スキップ・アクションのプロパティ」を参照してください。

再開

再開アクションは、エラー・ハンドラによってエラーが処理された後で、メッセージ・フローを再開します。

構成のプロパティは、4.11.26項「再開アクションのプロパティ」を参照してください。


4.10.6 メッセージ・フローのステージ・アクション - メッセージ処理アクション

メッセージ・フローのステージに追加できるメッセージ処理アクションを次の表で説明します。

表4-37 メッセージ・フロー・ステージ・ノードのメッセージ処理アクション

アクション 説明

割当て

割当てアクションは、XQuery式の結果をコンテキスト変数に割り当てます。

構成のプロパティは、4.11.2項「割当てアクションのプロパティ」を参照してください。

削除

削除アクションは、コンテキスト変数や、XPath式で指定されたノードのセットを削除します。

構成のプロパティは、4.11.4項「削除アクションのプロパティ」を参照してください。

挿入

挿入アクションは、XPath式で選択されたノードを基準に指定された位置に、XQuery式の結果を挿入します。

構成のプロパティは、4.11.10項「挿入アクションのプロパティ」を参照してください。

Javaコールアウト

Javaコールアウト・アクションは、パイプラインからJavaメソッドを呼び出します。

構成のプロパティは、4.11.11項「Javaコールアウト・アクションのプロパティ」を参照してください。

MFL変換

MFL変換アクションは、パイプラインで、ある非XMLからXMLへの変換、またはその逆の変換を行います。

構成のプロパティは、4.11.16項「MFL変換アクションのプロパティ」を参照してください。

名前変更

名前変更アクションは、XPath式で選択された要素の名前を、コンテンツを変更することなく変更します。

構成のプロパティは、4.11.22項「名前変更アクションのプロパティ」を参照してください。

置換

置換アクションは、XPath式で指定されたノードまたはノードのコンテンツを置き換えます。

構成のプロパティは、4.11.23項「置換アクションのプロパティ」を参照してください。

検証

検証アクションは、XMLスキーマ要素またはWSDLリソースに照らして、XPath式で選択した要素を検証します。

構成のプロパティは、4.11.35項「検証アクションのプロパティ」を参照してください。


4.10.7 メッセージ・フローのステージ・アクション - レポート・アクション

メッセージ・フローのステージに追加できるレポート・アクションを次の表で説明します。

表4-38 メッセージ・フロー・ステージ・ノードのレポート・アクション

アクション 説明

アラート

アラート・アクションは、パイプラインのメッセージ・コンテキストに基づいてアラート通知を送信します。

構成のプロパティは、4.11.1項「アラート・アクションのプロパティ」を参照してください。

ログ

ログ・アクションは、ログに記録されるメッセージを構築します。

構成のプロパティは、4.11.12項「ログ・アクションのプロパティ」を参照してください。

レポート

レポート・アクションは、プロキシ・サービスに対してメッセージのレポートを有効にします。

構成のプロパティは、4.11.25項「レポート・アクションのプロパティ」を参照してください。


4.11 メッセージ・フロー・エディタ

このエディタは、プロキシ・サービスのメッセージ・フローを構築するために使用します。メッセージ・フローにノードまたはアクションを挿入するには、メッセージ・フロー・デザイン・パレットから項目をエディタにドラッグします。エディタに項目をドラッグすると、ドラッグしてきた項目をパレット内の位置にドロップできることを示す1つまたは複数のターゲット・アイコンが表示されます。項目をターゲット上にドラッグすると、ターゲット・アイコンが強調表示され、そこに項目をドロップできることがわかります。

メッセージ・フロー・エディタでオブジェクトを右クリックして、「挿入」これに挿入またはこれの後ろに挿入サブメニューからノードやアクションを選択することにより、メッセージ・フローにノードとアクションを追加することもできます。また、「エラー・ハンドラの追加」コマンドを選択して、エラー・ハンドラを追加することもできます。これらのサブメニューおよびコマンドは、コンテキストに依存します。つまり、メッセージ・フローで選択されたコンテキストに項目を追加することが認められている場合にのみ表示されます。

エディタでノードまたはアクションを選択すると、その項目の構成ページがプロパティ・ビューに表示されます。このページでは構成プロパティの追加と変更を行うことができます。メッセージ・フローのノードおよびアクションのプロパティの構成ページを次に示します。

4.11.1 アラート・アクションのプロパティ

メッセージ・フローでは、アラート・アクションを使用して、パイプラインのメッセージ・コンテキストに基づいてアラートを生成し、アラート宛先に送信します。SLAアラートと異なり、アラート・アクションで生成された通知は、主にビジネスでの使用、またはエラーの報告を目的とし、システムの状態を監視するものではありません。このことを考慮して、アラートの宛先を構成および選択する必要があります。アラートの宛先の詳細は、4.1.1項「アラート宛先エディタ」を参照してください。

サービスに対してパイプライン・アラートが有効になっていない場合や、ドメイン・レベルでパイプライン・アラートが有効になっていない場合は、メッセージの処理中に、構成したアラート・アクションがバイパスされます。

メッセージ・フロー・エディタで、アラート・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したアラート・アクションを構成します。ページは次のとおりです。

  • アラート

  • コメント

  • ネームスペース

  • 変数

「アラート」ページには、次のオプションが含まれます。

表4-39 アラート・アクションのオプション

オプション 説明

アラート・メッセージに追加されるメッセージ・コンテキストを指定するXQuery式です。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

サマリー

アラートの簡単な説明です。説明文は、電子メール通知の場合の件名になります。文字数を80文字以内に制限する必要があります。説明文が存在しない場合、「ALSB Alert」というあらかじめ定義された件名がかわりに使用されます。

重大度

このアラートの重大度レベルです。リストからレベルを選択します。

宛先

アラートの宛先です。宛先を指定するには、「参照」をクリックして適切なリソースを選択します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.2 割当てアクションのプロパティ

メッセージ・フローでは、割当てアクションを使用してXQuery式の結果をコンテキスト変数に割り当てます。

メッセージ・フロー・エディタで、割当てアクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した割当てアクションを構成します。ページは次のとおりです。

  • 割当て

  • コメント

  • ネームスペース

  • 変数

「割当て」ページには、次のオプションが含まれます。

表4-40 割当てアクションのオプション

オプション 説明

次に説明する「変数」フィールドで指定される変数に割り当てられるデータを作成する式です。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

変数

上で説明したXQuery式で作成した値を割り当てる変数です。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.3 条件付きブランチ・ノードのプロパティ

メッセージ・フローでは、条件付きブランチ・ノードを使用することで、XPath条件が返す結果に基づき、考えられる複数のパスの中の1つのみに沿ってメッセージ処理が進んでいくように指定します。

条件付きブランチ処理は、単純でありながらユニークな文字列値のタグが付いたブランチをまとめたルックアップ・テーブルを基準に行われます。メッセージ・コンテキストの変数をそのノードのルックアップ変数として指定し、実行時に、この値を使用してどのブランチに進むかが判断されます。ルックアップ変数に一致するブランチがない場合は、デフォルトのブランチに進みます。ブランチ・ノードに到達する前にルックアップ変数の値を設定するように、プロキシ・サービスを設定する必要があります。

メッセージ・フロー・エディタで、条件付きブランチ・ノードをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した条件付きブランチ・ノードを構成します。ページは次のとおりです。

  • フロー

  • 条件付きブランチ

「フロー」ページには、次のオプションが含まれます。

表4-41 フローのオプション

オプション 説明

名前

条件付きブランチ・ノードの名前を入力します。

説明

条件付きブランチ・ノードの説明を入力します。


「条件付きブランチ」ページには、次のオプションが含まれます。

表4-42 条件付きブランチのオプション

オプション 説明

XPath

進むべきブランチを決定するために評価される条件を定義するXPath式です。

XPath式を作成または編集するには、「<XPath>」(定義済の場合は、XPath式のフラグメント)をクリックして、XPath式エディタを表示します。

変数

コンテキスト変数を入力します。


また、条件付きブランチ・ノードには、1つまたは複数のブランチが必ず含まれており、ノードの一部として構成されます。

プロパティ・ビューのブランチ・プロパティ・ページを表示するには、条件付きブランチ・ノードにあるブランチアイコンをクリックします。このプロパティ・ページを使用して、メッセージ・フローで選択したブランチ・ノードを構成します。このページには、次のオプションがあります。

表4-43 ブランチのオプション

オプション 説明

ラベル

ブランチのラベルです。メッセージ・フロー・エディタのブランチのラベルとして、このラベルが表示されます。

演算子

次のフィールドの値と共に使用する演算子をリストから選択し、ブランチの基盤となる条件を作成します。

前のフィールドの演算子と共に使用する値を入力し、条件を作成します。


4.11.4 削除アクションのプロパティ

メッセージ・フローでは、削除アクションを使用して、コンテキスト変数やXPath式によって指定されたノードのセットを削除します。

メッセージ・フロー・エディタで、削除アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した削除アクションを構成します。ページは次のとおりです。

  • 削除

  • コメント

  • ネームスペース

  • 変数

「削除」ページには、次のオプションが含まれます。変数を削除するには「変数」を選択し、XPath式を削除するには「XPath」を削除します。

表4-44 削除アクションのオプション

オプション 説明

変数

コンテキスト変数を削除するには、このオプション・ボタンを選択します。削除するコンテキスト変数の名前を、横のテキスト・フィールドに入力します。

XPath

XPath式で選択されたすべてのノードを削除するには、このオプション・ボタンを選択します。次に、以下を実行します。

  • XPath式を作成または編集するには、「<XPath>」(定義済の場合は、XPath式のフラグメント)をクリックして、XPath式エディタを表示します。

  • 式を保存したら、変数内フィールドに、XPath式で指定されたノードを含むコンテキスト変数を入力します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.5 動的パブリッシュ・アクションのプロパティ

メッセージ・フローでは、動的パブリック・アクションを使用して、メッセージをXQuery式によって指定されたサービスへパブリッシュします。

メッセージ・フロー・エディタで、動的パブリッシュ・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した動的パブリッシュ・アクションを構成します。ページは次のとおりです。

  • 動的にパブリッシュ

  • コメント

  • ネームスペース

  • 変数

「動的にパブリッシュ」ページには、次のオプションが含まれます。

表4-45 動的パブリッシュ・アクションのオプション

オプション 説明

サービス

メッセージがパブリッシュされるサービスを定義するXQuery式です。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

エディタで、XQuery式を入力するか、以下と同様の結果となるXQueryリソースを選択します。

<ctx:route>
<ctx:service isProxy="false">project/folder/businessservicename</ctx:service>
<ctx:operation>foo</ctx:operation>
</ctx:route>

注意: operation要素は省略可能です。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.6 動的ルーティング・アクションのプロパティ

メッセージ・フローでは、動的ルーティング・アクションを使用して、XQueryリソースから入手可能なルーティング情報に基づいてメッセージのルートを割り当てます。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、リクエストとレスポンスのアクションを含めることができます。

メッセージ・フロー・エディタで、動的ルーティング・アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した動的ルーティング・アクションを構成します。ページは次のとおりです。

  • 動的ルーティング

  • コメント

  • ネームスペース

  • 変数

「動的ルーティング 」 ページには次のオプションがあります。

表4-46 動的ルーティング・アクションのプロパティ

オプション 説明

サービス

メッセージがたどるルートを定義するXQuery式です。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

XQuery/XSLT式エディタで、XQuery式を入力します。結果は以下の様な内容になります。

<ctx:route>
    <ctx:service isProxy='true'>{$service}</ctx:service>
    <ctx:operation>{$operation}</ctx:operation>
</ctx:route>

注意: プロキシ・サービスが呼び出されている場合は、isProxy属性をtrueに設定する必要があります。

  • サービス名は完全修飾サービス名です。

  • operation要素は省略可能です。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.7 エラー・ハンドラ・ノードのプロパティ

エラー・ハンドラを使用して、メッセージ・フロー内の指定の場所でエラーが発生した場合の処理を指定します。

エラー・ハンドラのすべての構成は、エラー・ハンドラに含まれる1つまたは複数のステージにあります。4.11.33項「ステージ・ノードのプロパティ」を参照してください。

4.11.8 For-Eachアクションのプロパティ

メッセージ・フローで、For-Eachアクションは、一連の値を反復処理してアクションのブロックを実行するために使用します。

メッセージ・フロー・エディタで、For-Eachアクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したFor-Eachアクションを構成します。ページは次のとおりです。

  • For Each

  • コメント

  • ネームスペース

  • 変数

「For Each」ページには次のオプションがあります。

表4-47 For-Eachアクションのプロパティ

オプション 説明

For Each変数

For-Eachアクションが実行されるコンテンツの変数の名前を入力します。

XPath

For Each変数フィールドで指定された変数の格納側コンテキスト変数の構造内での場所を指定するXPath式です。

XPath式を作成または編集するには、「<XPath>」(定義済の場合は、XPath式のフラグメント)をクリックして、XPath式エディタを表示します。

in変数

For-Eachアクションが実行されるコンテンツの変数を含むコンテキスト変数です。

index変数

ループ内の反復の現在の数を含む変数です。

count変数

反復の総数を含む変数です。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.9 If-Thenアクションのプロパティ

メッセージ・フローでは、If-Thenアクションを使用して、XQuery式のブール結果に基づき1つまたは複数のアクションを条件付きで実行します。

メッセージ・フロー・エディタで、If-Thenアクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このページを使用して、If-Thenアクションの全般的なプロパティを確認および構成します。ページは次のとおりです。

  • コメント

  • ネームスペース

  • 変数

If-Thenアクションには、1つのIf条件と、ゼロ個以上のElse-If条件が必ず含まれており、If-Thenアクションの条件を定義できます。また、If-Thenアクションには必ずElse条件も含まれており、これによって他の条件のいずれにも合致しない場合のデフォルトのパスが定義されます。

If-ThenアクションにあるIf:conditionアイコンをクリックするか、またはElse-If:conditionアイコンをクリックして、そのプロパティをプロパティ・ビューに表示します。このプロパティ・ページを使用して、選択した条件を構成します。If条件のプロパティ・ページには、次のオプションがあります。

4.11.9.1 IfアクションとElse-Ifアクションのプロパティ

If-Thenアクションには、IfアクションとElse-Ifアクションとが必ず含まれます。メッセージは、trueを返す最初のIfアクションまたはElse-Ifアクションに関係付けられたパスに従います。

表4-48 IfアクションとElse-Ifアクションのオプション

オプション 説明

条件

フロー内の別のパスに従うかどうかを決めるテストの1つを含む、IfアクションまたはIf-Elseアクションにある条件です。

条件を追加または編集するには、次の手順を実行します。

  1. 「<条件>」(定義済の場合はcondition_fragment)をクリックして、条件エディタを表示します。If-Thenアクションで評価される条件を定義します。

  2. 条件の編集が終了したら、条件がtrueと評価された場合に実行される1つまたは複数のアクションを追加します。アクションを追加するには、条件と関連付けるアクションを デザイン・パレット からドラッグします。

ルート・ノードでは、ルーティング・アクション、動的ルーティング・アクション、またはルーティング・テーブル・アクションのみを選択できます。ただし、これらのアクションには、リクエストとレスポンスのアクションを含めることができます。

Else-If条件を追加するには、次の手順を実行します。

条件の追加をクリックします。上のIf条件で説明したように、このElse-If条件にも1つまたは複数のアクションを追加します。ロジックに応じて、Else-If条件を必要な数だけ追加します。

条件アクションはネストできます。


4.11.9.2 Elseアクションのプロパティ

Elseアクションには関連付けられたプロパティはありません。すべてのIf条件およびElse-If条件からfalseが返された場合、メッセージはElseアクションに関連付けられたパスに進みます。

必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.10 挿入アクションのプロパティ

メッセージ・フローで、XPath式で選択したノードを基準に、指定した位置にXQuery式の結果を挿入するには、挿入アクションを使用します。

メッセージ・フロー・エディタで、挿入アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した挿入アクションを構成します。ページは次のとおりです。

  • 挿入

  • コメント

  • ネームスペース

  • 変数

「挿入」ページには、次のオプションがあります。

表4-49 挿入アクションのオプション

オプション 説明

XQuery式を使用して、名前付き変数で指定した場所に挿入されるデータを作成します。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

場所

XPath式の結果を基準にした、挿入が実行される位置です。次のオプションがあります。

  • 「の前に」 - XPath式で選択される各要素や属性の兄とします。

  • 「の後ろに」 - XPath式で選択される各要素や属性の弟とします。

  • 「の最初の子として」 - XPath式で指定される各要素の第1の子とします。XPathの結果が属性を返す場合はエラーが発生します。

  • 「の最後の子として」 - XPath式で指定される各要素の最後の子とします。XPathが属性を返す場合はエラーが発生します。

XPath

有効な構成には、以下の構成が含まれます。

  • XQuery式とXPath式の両方が要素を返します。

  • XQuery式とXPath式の両方が属性を返します。この場合、XQuery式は属性を返す必要があります。

XPath式を作成または編集するには、「<XPath>」(定義済の場合は、XPath式のフラグメント)をクリックして、XPath式エディタを表示します。

変数

上で定義したXPath変数によって内容が評価されるコンテキスト変数です。テキスト・フィールドに変数の名前を入力します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.11 Javaコールアウト・アクションのプロパティ

メッセージ・フローからJavaメソッド、またはEJBビジネス・サービスを呼び出すには、メッセージ・フローでJavaコールアウト・アクションを使用します。

メッセージ・フロー・エディタで、Javaコールアウト・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したJavaコールアウト・アクションを構成します。ページは次のとおりです。

  • Javaコールアウト

  • コメント

  • ネームスペース

  • 変数

「Javaコールアウト」ページには、次のオプションがあります。

表4-50 Javaコールアウト・アクションのオプション

オプション 説明

メソッド

メッセージ・フローから呼び出される外部Javaメソッドです。

「参照」をクリックして、アーカイブされたリソースからクラスと静的メソッドを選択します。クラスとメソッドを選択すると、Javaコールアウトの「プロパティ」ページに表が表示されます。

「名前」列には、すべてのメソッドの引数がリストされます。

「アクション」列の「<式>」または式のフラグメントはXQuery/XSLT式エディタにリンクされており、ここで引数に対する値を取得するための式を作成できます。

引数のデータ型は、次のいずれかである必要があります。

  • Java.lang.String

  • プリミティブ型および対応するクラス型(intjava.lang.Integerなど)

  • java.lang.BigDecimalおよびjava.lang.BigInteger(これらの型は、ラウンドオフ・エラーやオーバーフローが許容されない財務関連の計算で使用されます)

  • org.apache.xbeans.XmlObjectのみ(型指定されたXML Beanはなし)

  • byte[]

  • java.lang.String[](入力のみ)

  • XmlObject [ ](入力のみ)

  • javax.activation.DataSource

入力値の型が宣言されている入力引数の型と一致しない場合、Oracle Service Busは入力値を入力引数の宣言された型に自動的に型キャストします。たとえば、入力引数の宣言された型がJavaプリミティブ「int」の場合、文字列値"123"は整数123に変換されます。

パラメータを参照として戻す

パラメータを参照として戻す: このオプションは、Javaコールアウト呼出しの戻り値を、その実際のタイプに関係なく<java-content ref="jcid">参照要素にします。jcidはオブジェクト・リポジトリ内のオブジェクトに対するキーです。「結果」値フィールドで、Javaコンテンツの参照を含むための変数の名前を入力します。このオプションでは、パイプラインXMLに加えて、メッセージ・フロー内で参照されたオブジェクトも操作できます。これによってパススルーの提供、Javaコールアウトによるメッセージの高度化およびインライン・アクションの実行、あるいはJavaおよび非Javaトランスポート間のメッセージ変換の実行ができます。詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のメッセージでのJavaオブジェクトの送信および受信に関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBDV1874)を参照してください。

結果型

結果が割り当てられる変数です。このフィールドに対するラベルは、結果のデータ型を示します。

結果がバイト配列(唯一返される可能性のある配列)の場合は、バイナリ・コンテンツのXML要素が返されます。

サービス・アカウント

オプションのサービス・アカウントです。このJavaメソッドにセキュリティ・コンテキストが存在する場合に指定できます。

サービス・アカウントを選択するには、「参照」をクリックします。

固定およびマップされたサービス・アカウントの場合、そのサービス・アカウントのユーザーID/パスワードはローカル・システムとJavaコールアウトに伝播されたセキュリティ・コンテキストで認証されます。passthruの場合、セキュリティ・コンテキストはJavaコールアウトに伝播されます。(WS-Securityで)定義されている場合、このコンテキストは、メッセージ・レベルのコンテキストになります。そうでない場合は、トランスポート・レベルのコンテキストになります。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.12 ログ・アクションのプロパティ

メッセージ・フローでは、ログ・アクションを使用して、ログに記録されるメッセージを構築したり、メッセージと共にログに記録される一連の属性を定義したりします。

メッセージ・フロー・エディタで、ログ・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したログ・アクションを構成します。ページは次のとおりです。

  • ログ

  • コメント

  • ネームスペース

  • 変数

「ログ」ページには、以下のオプションが用意されています。

表4-51 ログ・アクションのオプション

オプション 説明

コンテキスト変数のXQuery式を通じてログに記録されるメッセージ・コンテキストです。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

注釈

このログ・アクションのメモです。これらのメモは、事前に定義された式の結果と一緒にログに記録されます。

重大度

ログ・メッセージの重大度です。次のオプションがあります。

  • 「デバッグ」 - アプリケーションの開発中、アプリケーション内の下位レベルのアクティビティに関する詳細な説明を提供するメッセージの作成および使用が有用であることがあります。

  • 「情報」 - 通常の処理をレポートするために使用する、低レベルの情報メッセージです。

  • 「警告」 - 疑わしい処理や構成が実行されたが、通常の処理には影響を及ぼしません。

  • 「エラー」 - ユーザー・エラーが発生しました。システムまたはアプリケーションでは、割込みをせず、一部のサービスの停止のみでエラーに対処できます。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.13 メッセージ・フローのプロパティ - コメント

メッセージ・フロー・エディタで、ノードまたはアクションをクリックし、プロパティ・ビューにそのプロパティを表示します。多くのノードやアクションでは、プロパティ・ページの1つとして「コメント」ページが(タブとして)表示されます。このページを使用して、メッセージ・フローで選択した項目についてのコメントをオプションとして追加できます。

4.11.14 メッセージ・フローのプロパティ - ネームスペース

メッセージ・フロー・エディタで、ノードまたはアクションをクリックし、プロパティ・ビューにそのプロパティを表示します。多くのノードやアクションでは、プロパティ・ページの1つとして「ネームスペース」ページが(タブとして)表示されます。このページを使用して、定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりできます。

4.11.15 メッセージ・フローのプロパティ - 変数

メッセージ・フロー・エディタで、ノードまたはアクションをクリックし、プロパティ・ビューにそのプロパティを表示します。多くのノードやアクションでは、プロパティ・ページの1つとして「変数」ページが(タブとして)表示されます。このページを使用して、事前定義されたコンテキスト変数およびユーザーによって定義されたコンテキスト変数のリストを表示します。新しい変数を定義するには、「追加」をクリックします。

4.11.16 MFL変換アクションのプロパティ

メッセージ・フローでは、MFL(メッセージ・フォーマット言語)変換アクションを使用して、メッセージ・パイプライン内でメッセージ・コンテンツをXMLとXML以外の形式との間で双方向に変換します。MFLは、バイナリ・データのレイアウトを記述するために使用する特別なXMLドキュメントです。Oracle独自の言語を使用して、フォーマットされたバイナリ・データをXMLデータに、またはXMLデータをバイナリ・データに変換するルールを定義します。

メッセージ・フロー・エディタで、MFL変換アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したMFL変換アクションを構成します。ページは次のとおりです。

  • MFL変換

  • コメント

  • ネームスペース

  • 変数

「MFL変換」ページには次のオプションがあります。

表4-52 MFL変換アクションのオプション

オプション 説明

変換の適用

適用される変換の種類です。

必要に応じて、「XMLから非XMLへ」または「非XMLからXMLへ」を選択します。

<式>

MFL変換アクションが実行される変数です。

「<式>」(定義済の場合はexpression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。このエディタでは、変数を指定できます。

この入力は、XMLへの変換の場合はテキストまたはバイナリ、XML以外への変換の場合はXMLでなければなりません。メッセージ・コンテキストのバイナリ・コンテンツは、バイナリ・コンテンツXML要素によって表されます。入力がバイナリでなければならない場合、このXMLはXquery式の結果となります。

リソース

静的なMFLリソースを使用してMFL変換アクションを実行するには、このオプションを選択します「参照」をクリックしてリソースを選択します。

リソース元

変換アクションを実行するMFLリソースを指定するには、このオプションを選択します。

「<式>」(定義済の場合はexpression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。このエディタでは、プロジェクト/フォルダ/MFLリソース名の形式で、アクションを実行するMFLリソースを指定できます。

変数

この変換アクションの結果が割り当てられる変数の名前です。結果は、バイナリ・コンテンツのXML要素になります。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.17 オペレーション・ブランチ・ノードのプロパティ

メッセージ・フローでは、オペレーション・ブランチ・ノードを使用して、WSDLで定義されているオペレーションに基づいてブランチを構成します。

メッセージ・フローでWSDLベースのプロキシ・サービスを定義する場合、オペレーション固有の処理が必要になります。Oracle Service Busでは、オペレーションに基づくブランチ・ノードを手動で構成するかわりに、オペレーションに基づいて自動的に分岐するブランチ・ノードが用意されています。つまり、オペレーション・ブランチ・ノードをメッセージ・フローに作成すると、Oracle Service Busプラグインでは、WSDLに定義されたオペレーションがオペレーション・ブランチ・ノード構成ページに表示されるため、これらのオペレーションに基づいて分岐ロジックをすばやく構築できます。

ブランチ・ノードを使用すると、可能ないくつかのパスのうちの1つに限定して処理を進めることができます。分岐は、XPathベースの切替え表に基づいて実行されます。表の各ブランチは、条件(たとえば、<500)を指定し、これが単一のXPath式(たとえば、$body./ns: PurchaseOrder/ns:totalCost)に対してメッセージ・フローの降順に評価されます。最初に満たされた条件によって、進むべきブランチが決定されます。満たされる分岐条件がない場合は、デフォルトのブランチに進みます。ブランチ・ノードでは、メッセージ・フロー内にいくつかの子孫を持つことができます(デフォルトのブランチを含め各ブランチに1つずつ)。

メッセージ・フロー・エディタでオペレーション・ブランチ・ノードをメッセージ・フローに追加すると、図4-1に示すように、そのノードにはWSDLで定義された最初の操作に基づく初期の条件付きブランチと、デフォルトのブランチが含まれます。

図4-1 WSDLの「Submit」操作とデフォルト・ブランチを含むブランチ・ノード

図4-1の説明が続きます
「図4-1 WSDLの「Submit」操作とデフォルト・ブランチを含むブランチ・ノード」の説明

プロパティ・ビューに「フロー」プロパティ・ページを表示するには、ノード自体(オペレーション・ブランチ・ノード・アイコン、またはアイコンに接続されている境界ボックス)をクリックします。このページではノードの名前と説明を指定できます。

オペレーション・ブランチ・ページにあるオペレーション・ブランチのプロパティを表示するには、オペレーション・ブランチ・アイコンをクリックします。ページには、WSDLで定義されているすべてのオペレーションが含まれるリストがあります。このブランチに対して異なるオペレーションを選択できます。メッセージ・フロー・エディタでオペレーション・ブランチ・ノードのプラス記号をクリックして、別のオペレーション・ブランチを追加することもできます。

すべてのブランチの追加が終了したら、ブランチにノードとステージを追加して各ブランチの処理を定義します。

4.11.18 パイプライン・ペア・ノードのプロパティ

メッセージ・フローでリクエストおよびレスポンス処理を定義するには、パイプライン・ペア・ノードを使用します。

メッセージ・フローには、パイプライン・ペア・ノード(プロキシ・サービス、またはサービスの処理用のリクエスト・パイプラインとレスポンス・パイプライン)と、ステージ、パイプライン、およびプロキシ・サービスに対して定義できるエラー・ハンドラをゼロ個以上入れることができます。パイプラインは、1つまたは複数のステージを持つことができ、ステージはアクションを持ちます。

パイプライン・ペアには、リクエスト・パイプラインとレスポンス・パイプラインが必ず含まれています。必要に応じて、パイプラインにステージとアクションを追加します。

メッセージ・フロー・エディタで、パイプライン・ペア・ノードをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したパイプライン・ペア・ノードを構成します。次のオプションがあります。

表4-53 パイプライン・ペア・ノードのオプション

オプション 説明

名前

パイプライン・ペア・ノードの名前を入力します。

説明

パイプライン・ペア・ノードの説明を入力します。


4.11.19 パブリッシュ・アクションのプロパティ

メッセージ・フローでは、パブリッシュ・アクションを使用して、静的に指定された、メッセージの対象サービスを識別し、メッセージのパッケージ方法およびサービスへの送信方法を構成します。

メッセージ・フロー・エディタで、パブリッシュ・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したパブリッシュ・アクションを構成します。ページは次のとおりです。

  • パブリッシュ

  • コメント

  • ネームスペース

  • 変数

「パブリッシュ」ページには、次のオプションが含まれます。

表4-54 パブリッシュ・アクションのオプション

オプション 説明

サービス

パブリッシュ・アクションの対象サービスです。「参照」をクリックし、リストからプロキシ・サービスまたはビジネス・サービスを選択します。

呼出し

対象サービスで呼び出される操作です。

このオプションは、選択したサービスに操作が定義されている場合にのみ表示されます。

メッセージのパッケージとサービスへの送信方法を構成するために、「リクエスト・アクション」フィールドで「アクションの追加」をクリックします。その後で、サービスと関連付けるアクションを選択します。複数のアクションを追加することも可能です。

インバウンド操作のアウトバウンドでの使用

このオプションを選択すると、アウトバウンド操作がインバウンド操作と同じになります。

このオプションは、選択したサービスに操作が定義されている場合にのみ表示されます。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.20 パブリッシュ表アクションのプロパティ

メッセージ・フローで、ゼロまたはそれ以上の静的に指定されたサービスにメッセージをパブリッシュするには、パブリッシュ・テーブル・アクションを使用します。切替え式の条件ロジックを使用して、どのサービスをパブリッシュに使用するか実行時に決定します。パブリッシュ・テーブル・アクションには、デフォルトのパブリッシュ・アクションに進むデフォルトのパスに加えて、異なるパスに進むための条件を定義するケース・アクションが1つ以上含まれています。パブリッシュ・テーブル・アクションを完全に定義するには、パブリッシュ・テーブル・アクションと、そのケース・アクションとパブリッシュ・アクション(および追加したその他のアクション)を構成する必要があります。

メッセージ・フロー・エディタのメッセージ・フローにパブリッシュ表アクションを追加すると、図4-2に示すように、パブリッシュ表アクションにはパブリッシュ・アクションへのパスを持つケース・アクションの他に、デフォルトのパブリッシュ・アクションへのパスを持つデフォルトのケース・アクションが含まれます。条件の追加をクリックして、パブリッシュ表に別の条件を追加します。

図4-2 パブリッシュ表アクション

図4-2の説明が続きます
「図4-2 パブリッシュ表アクション」の説明

4.11.20.1 パブリッシュ表のプロパティ

メッセージ・フロー・エディタで、パブリッシュ表アクション自体(「パブリッシュ表」アイコン、またはアイコンに接続されている境界ボックス)をクリックして、プロパティ・ビューに「パブリッシュ表」プロパティ・ページを表示します。このプロパティ・ページを使用して、選択したパブリッシュ表アクションを構成します。ページは次のとおりです。

  • パブリッシュ表

  • コメント

  • ネームスペース

  • 変数

「パブリッシュ・テーブル」プロパティ・ページには、次のオプションがあります。

表4-55 パブリッシュ表のオプション

オプション 説明

実行時にルーティングの決定を行う値を返すXQuery式です。

XQuery式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.20.2 ケース・アクションのプロパティ

メッセージ・フロー・エディタで、ケース・アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページは、以下で説明するように、選択したケース・アクションの構成に使用します。

表4-56 ケース・アクションのオプション

オプション 説明

「演算子」および「値」

リストから比較演算子を選択します。次に、パブリッシュ・テーブル・アクションに対して定義されたXQuery式から返される値が評価される値を入力します。


4.11.20.3 パブリッシュ・アクションのプロパティ

4.11.19項「パブリッシュ・アクションのプロパティ」を参照してください。

4.11.21 エラーの生成アクションのプロパティ

メッセージ・フローでは、エラーの生成アクションを使用して、指定したエラー・コード(文字列)と説明と共に例外を発生させます。

メッセージ・フロー・エディタで、エラーの生成アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したエラーの生成アクションを構成します。ページは次のとおりです。

  • エラーの生成

  • コメント

  • ネームスペース

  • 変数

「エラーの生成」ページには、次のオプションが含まれます。

表4-57 エラーの生成アクションのオプション

オプション 説明

コード

発生させるエラー・コードです。

メッセージ

エラー・コードの説明です。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.21.1 トランザクション

サービスがトランザクションの場合、トリガーされたエラー発生アクションにより、非同期のリクエストのトランザクションまたは同期のリクエスト/レスポンスのトランザクションが中断されます。たとえば、メッセージを参照し、SOAPフォルトは発生せず、エラーを発生させるアクションによりトランザクションが中断された場合にも、エラーの生成アクションが実行する際の条件を決定できます。

4.11.22 名前変更アクションのプロパティ

メッセージ・フローでは、名前変更アクションを使用して、XPath式で選択された要素の名前を、要素のコンテンツを変更することなく変更します。

メッセージ・フロー・エディタで、名前変更アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した名前変更アクションを構成します。ページは次のとおりです。

  • 名前変更

  • コメント

  • ネームスペース

  • 変数

「名前変更」ページには、次のオプションが含まれます。

表4-58 名前変更アクションのオプション

オプション 説明

XPath

名前を変更する(名前付き変数内の)データの指定に使用されるXPath式です。

XPath式を作成または編集するには、「<XPath>」(定義済の場合は、XPath式のフラグメント)をクリックして、XPath式エディタを表示します。

in変数

名前を変更する要素を保持しているコンテキスト変数です。

このフィールドには変数の名前を入力します。

ローカル名

選択した要素の名前の変更に使用するローカル名です。

このフィールドにはローカル名を入力します。

ネームスペース

選択した要素の名前を変更するときに使用するネームスペースです。

このフィールドにはネームスペースを入力します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.23 置換アクションのプロパティ

メッセージ・フローでは、置換アクションを使用して、XPath式で指定されたノードまたはノードのコンテンツを置き換えます。ノードまたはそのコンテンツは、XQuery式が返した値で置換されます。

置換アクションでは、単純な値、要素、属性を置き換えることができます。XQuery·式から何も返されない状態は、アクションがノード全体を置き換えるか、ノード·コンテンツのみを置き換えるかにより、識別されたノードを削除すること、または空のノードを作成することと同じです。

メッセージ・フロー・エディタで、置換アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した置換アクションを構成します。ページは次のとおりです。

  • 置換

  • コメント

  • ネームスペース

  • 変数

「置換」ページには、次のオプションが含まれます。

表4-59 置換アクションのオプション

オプション 説明

XPath

置換する(名前付き変数内の)データの指定に使用するXPath式です。

XPath式を作成または編集するには、「<XPath>」(定義済の場合は、XPath式のフラグメント)をクリックして、XPath式エディタを表示します。

変数

コンテキスト変数を入力します。

名前付き変数内でXPathによって指定されたデータを置換するデータの作成に使用するXQuery式です。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

ノード全体を置換

または

ノードのコンテンツを置換

XQuery式を編集したら、以下のいずれかのオプションを選択します。

  • 「ノード全体を置換」 - 定義したXPath式で選択したノードとそのすべてのコンテンツを置換するように指定します。

  • 「ノードのコンテンツを置換」 - ノードは置換せず、そのコンテンツのみ置換するように指定します。

注意: 「ノード全体を置換」オプションを選択してXPathを「./*」に設定するよりも、「ノードのコンテンツを置換」オプションを選択して「XPath」フィールドを空白にする方が効率的です。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.24 返信アクションのプロパティ

メッセージ・フローでは、返信アクションを使用して、呼出し元に即時に返信されるように指定します。

返信アクションは、リクエスト・パイプライン、レスポンス・パイプライン、またはエラー・パイプラインで使用できます。成功時または失敗時に返信するように構成できます。HTTP·インバウンド・トランスポートでの失敗時の返信の場合、返信アクションでは、呼出し元に即時に返信されるように指定します。

メッセージ・フロー・エディタで、返信アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した返信アクションを構成します。ページは次のとおりです。

  • 割当て

  • コメント

  • ネームスペース

  • 変数

「返信」ページには、次のオプションが含まれます。

表4-60 返信アクションのオプション

オプション 説明

成功時

または

失敗時

「成功時」を選択すると、メッセージが成功した場合に応答します。「失敗時」を選択すると、メッセージが失敗した場合に応答します。トランザクションがOracle Service Busによって起動されても、失敗時の応答によって中止されます。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.25 レポート・アクションのプロパティ

メッセージ・フローでは、レポート・アクションを使用して、プロキシ・サービスに対してメッセージ・レポートを有効にします。

メッセージ・フロー・エディタで、レポート・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したレポート・アクションを構成します。ページは次のとおりです。

  • レポート

  • コメント

  • ネームスペース

  • 変数

「レポート」ページには次のオプションがあります。

表4-61 レポート・アクションのオプション

オプション 説明

レポートされるデータの作成に使用するXQuery式です。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

検索キー

XQuery式の編集が終了したら、「キーの追加」をクリックして、メッセージ・コンテキスト変数またはメッセージ・ペイロードからキー識別子を抽出するために使用される1つまたは複数のキー値のペアを追加します(残りのメッセージは無視されます)。キーは、メッセージを識別する便利な手段となります。

「キー名: 名前」フィールドにキーの名前を入力します。「キー値」列で「<XPath>」をクリックして、XPath式エディタでXPath式を作成します。in変数フィールドに、式の実行対象となる変数の名前を入力します。


たとえば、ステージのエラー・ハンドラで構成されたレポート・アクションを考えてみます。このアクションは、エラーが発生した場合に fault コンテキスト変数のコンテンツを報告します。レポート・アクションは次のように構成されます。

  • キー名= errorCode

  • キー値= ./ctx:errorCode(変数fault)

実行時にこのこのアクションが行われるたびに、データ・ストリームを通じてメッセージが報告されます。以下の表は、レポート・アクションが2回実行された後の結果を示しています。

表4-62 レポート・アクションの実行結果

レポート・インデックス DBタイムスタンプ インバウンド・サービス エラー・コード

errorCode=BEA-382505

04/26/07 9:45 AM

MortgageBroker/ProxySvcs/loanGateway3

BEA-382505

errorCode=BEA-382505

04/26/07 9:45 AM

同一

BEA-382505


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.26 再開アクションのプロパティ

メッセージ・フローでは、エラー・ハンドラによってエラーが処理された後、再開アクションを使用してメッセージ・フローを再開します。このアクションにパラメータはありません。このアクションはエラー・パイプラインでのみ使用できます。

メッセージ・フロー・エディタで、再開アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した再開アクションを構成します。ページは次のとおりです。

  • コメント

  • ネームスペース

  • 変数

必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.27 ルート・ノードのプロパティ

メッセージ・フローでは、ルート・ノードを使用して、ビジネス・サービスとの間でリクエスト・メッセージおよびレスポンス・メッセージのディスパッチを処理します。他のノードは、ルート・ノードに進むことはできません。

メッセージ・フロー・エディタで、ルート・ノードをクリックして、プロパティ・ビューにそのプロパティを表示します。プロパティ・ページは、選択したルート・ノードの構成に使用します。ページは次のとおりです。

  • ルート

  • ネームスペース

  • 変数

「ルート」ページには、以下のオプションが用意されています。

表4-63 ルート・ノードのオプション

オプション 説明

名前

ルート・ノードの名前を入力します。

説明

ルート・ノードの説明を入力します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.28 ルーティング・アクションのプロパティ

メッセージ・フローでは、ルーティング・アクションを使用して、メッセージの対象サービスを識別し、そのサービスにメッセージがルーティングされる方法を構成します。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、リクエストとレスポンスのアクションを含めることができます。

メッセージ・フロー・エディタで、ルーティング・アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したルーティング・アクションを構成します。ページは次のとおりです。

  • ルーティング

  • コメント

  • ネームスペース

  • 変数

「ルーティング」ページには、次のオプションが含まれます。

表4-64 ルーティング・アクションのオプション

オプション 説明

サービス

ルーティング・アクションの対象サービスです。「参照」をクリックし、リストからプロキシ・サービスまたはビジネス・サービスを選択します。

呼出し

対象サービスで呼び出される操作です。

このオプションは、選択したサービスに操作が定義されている場合にのみ表示されます。

メッセージのパッケージとサービスへの送信方法を構成するために、「リクエスト・アクション」フィールドで「アクションの追加」をクリックします。その後で、サービスと関連付けるアクションを選択します。複数のアクションを追加することも可能です。

インバウンド操作のアウトバウンドでの使用

このオプションを選択すると、アウトバウンド操作がインバウンド操作と同じになります。

このオプションは、選択したサービスに操作が定義されている場合にのみ表示されます。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.29 ルーティング・オプション・アクションのプロパティ

メッセージ・フローでは、ルーティング・オプション・アクションを使用してアウトバウンド・リクエストのプロパティ(URI、サービス品質、モード、再試行パラメータ、メッセージ優先度)の一部またはすべてを変更します。

メッセージ・フロー・エディタで、ルーティング・オプション・アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したルーティング・オプション・アクションを構成します。ページは次のとおりです。

  • ルーティング・オプション

  • コメント

  • ネームスペース

  • 変数

「ルーティング・オプション」ページには次のオプションがあります。

表4-65 ルーティング・オプション・アクションのプロパティ

オプション 説明

URI

アウトバウンド・メッセージのURIを設定するには、このオプションを選択します。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

URIを返す式を入力します。これで呼び出されたサービスのURIがオーバーライドされます。

QoS

サービス品質の要素を設定するには、このオプションを選択します。

リストからQoSオプションを選択します。これにより、デフォルトがオーバーライドされます。

モード

モードを「リクエスト」または「リクエスト - レスポンス」に設定するには、このオプションを選択します。

リストからモードを選択します。

注意: これは、通常、呼び出されたサービスのインタフェースに基づいて、自動的に設定されています。Any SoapまたはAny XMLサービスなどでは、設定されていない場合もあります。

再試行間隔

再試行間隔を設定するには、このオプションを選択します。

再試行間隔を秒数で指定します。これで呼び出されたサービスで構成されたデフォルトがオーバーライドされます。

再試行回数

再試行回数を設定するには、このオプションを選択します。

アクションを中断するまで再試行を行う回数を指定します。これで呼び出されたサービスで構成されたデフォルトがオーバーライドされます。

優先度

メッセージ優先度を設定するには、このオプションを選択します。

式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。

正の整数を返す式を入力します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.30 ルーティング表アクションのプロパティ

メッセージ・フローでは、ルーティング・テーブルを使用して、単一のXQuery式の結果に基づいて異なるルートを選択します。ルーティング・テーブル・アクションは、切替え式の条件表にラップされた一連のルートを含みます。

これは終端アクションなので、このアクションの後に別のアクションを追加することはできません。ただし、このアクションには、リクエストとレスポンスのアクションを含めることができます。

メッセージ・フロー・エディタで、ルーティング表のアクションをメッセージ・フローに追加すると、ルーティング表アクションには、図4-3に示すように、ルーティング・アクションへのパスを持つケース・アクションと、デフォルトのルーティング・アクションへのパスを持つデフォルト・ケース・アクションが含まれます。条件の追加をクリックして、ルーティング表に別の条件を追加します。

図4-3 ルーティング表アクション

図4-3の説明が続きます
「図4-3 ルーティング表アクション」の説明

4.11.30.1 ルーティング表のプロパティ

メッセージ・フロー・エディタで、パブリッシュ表アクション自体(「パブリッシュ表」アイコン、またはアイコンに接続されている境界ボックス)をクリックして、プロパティ・ビューに「パブリッシュ表」プロパティ・ページを表示します。このプロパティ・ページを使用して、選択したパブリッシュ表アクションを構成します。ページは次のとおりです。

  • ルーティング表

  • コメント

  • ネームスペース

  • 変数

「ルーティング表」のプロパティ・ページには、次のオプションが含まれます。

表4-66 ルーティング表のオプション

オプション 説明

実行時にルーティングの決定を行う値を返すXQuery式です。

XQuery式を作成または編集するには、「<式>」(定義済の場合は、expression_fragment)をクリックして、XQuery/XSLT式エディタを表示します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.30.2 ケース・アクションのプロパティ

メッセージ・フロー・エディタで、ケース・アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページは、以下で説明するように、選択したケース・アクションの構成に使用します。

表4-67 ケース・アクションのオプション

オプション 説明

「演算子」および「値」

リストから比較演算子を選択します。次に、ルーティング・テーブル・アクションに対して定義されたXQuery式から返される値が評価される値を入力します。


4.11.30.3 ルーティング・アクションのプロパティ

4.11.28項「ルーティング・アクションのプロパティ」を参照してください。

4.11.31 サービス・コールアウト・アクションのプロパティ

メッセージ・フローでは、サービス・コールアウト・アクションを使用して、Oracle Service Busに登録済みのプロキシ・サービスまたはビジネス・サービスの同期(ブロック)コールアウトを構成します。

メッセージ・フロー・エディタで、サービス・コールアウト・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したサービス・コールアウト・アクションを構成します。ページは次のとおりです。

  • サービス・コールアウト

  • コメント

  • ネームスペース

  • 変数

「サービス・コールアウト」ページには、次のオプションがあります。

表4-68 サービス・コールアウト・アクションのオプション

オプション 説明

サービス

サービス・コールアウト・アクションの対象サービスです。「参照」をクリックし、リストからプロキシ・サービスまたはビジネス・サービスを選択します。

呼出し

対象サービスで呼び出される操作です。

このオプションは、選択したサービスがWSDLベースであり、サービスで呼び出すことができる操作がある場合にのみ表示されます。

SOAP本体の構成

または

ペイロード・ドキュメントの構成

次のいずれかのオプションを選択して、リクエスト・メッセージとレスポンス・メッセージの構成方法を指定します。

  • 「SOAP本体の構成」を選択して、SOAP本体を構成します。このオプションを選択すると、$bodyを直接使用できます。

    このオプションでサポートしているSOAP-RPCエンコード形式は、ペイロードのパラメータやドキュメントを構成している場合はサポートされません。

  • 「ペイロード・パラメータの構成」または「ペイロード・ドキュメントの構成」を選択して、ペイロードを構成します。


その後の構成オプションは、選択したサービスの種類およびそのサービスに対して選択した構成オプションの種類によって決まります。表4-69に、各種類のサービスで使用できるオプションを示します。

表4-69 SOAP本体、ペイロード・パラメータおよびペイロード・ドキュメントのオプション

選択したサービスのタイプ 「SOAP本体の構成」のオプション 「ペイロード・パラメータの構成」のオプションまたは「ペイロード・ドキュメントの構成」のオプション

SOAP RPC

次の表の「「SOAPリクエスト本体」および「SOAPレスポンス本体」」を参照してください。

(オプション)次の表の「「SOAPリクエスト・ヘッダー」および「SOAPレスポンス・ヘッダー」」を参照してください。

「「リクエスト・パラメータ」および「レスポンス・パラメータ」」を参照してください(オプション)。

(オプション)次の表の「「SOAPリクエスト・ヘッダー」および「SOAPレスポンス・ヘッダー」」を参照してください。

SOAPドキュメントおよび任意のSOAP

次の表の「「SOAPリクエスト本体」および「SOAPレスポンス本体」」を参照してください。

(オプション)次の表の「「SOAPリクエスト・ヘッダー」および「SOAPレスポンス・ヘッダー」」を参照してください。

次の表の「「リクエスト・ドキュメント」および「レスポンス・ドキュメント」」を参照してください。

(オプション)次の表の「「SOAPリクエスト・ヘッダー」および「SOAPレスポンス・ヘッダー」」を参照してください。

XML、任意のXMLおよびメッセージ

次の表の「「SOAPリクエスト本体」および「SOAPレスポンス本体」」を参照してください。

次の表の「「リクエスト・ドキュメント」および「レスポンス・ドキュメント」」を参照してください。


上の表で示した各オプションの手順を次の表に示します。

表4-70 SOAP本体、ペイロード・パラメータおよびペイロード・ドキュメントのオプションの説明

オプション 手順

「SOAPリクエスト本体」および 「SOAPレスポンス本体」

これらのオプションを構成するには:

  • 「SOAPリクエスト本体」フィールドに、コールアウト・リクエストのSOAP本体要素のXMLを保持する変数の名前を入力します。

  • 「SOAPレスポンス本体」フィールドに、レスポンスのSOAP本体要素のXMLがバインドされる変数の名前を入力します。

「SOAPリクエスト・ヘッダー」および 「SOAPレスポンス・ヘッダー」

これらのオプションを構成するには:

  • 「SOAPリクエスト・ヘッダー」フィールドに、コールアウト・リクエストのSOAPヘッダー要素のXMLを保持する変数の名前を入力します。

    SOAPリクエスト・ヘッダーの入力ドキュメントは、<soap-env:Header>...</soap-env:Header>でラップする必要があります。

  • 「SOAPレスポンス・ヘッダー」フィールドに、レスポンスのSOAPヘッダー(存在する場合)のXMLがバインドされる変数の名前を入力します。

「リクエスト・パラメータ」および 「レスポンス・パラメータ」

オプションを構成するには:

  • 「リクエスト・パラメータ」フィールドに、実行時に評価される、リクエスト・パラメータの値を指定する変数の名前を入力します。

    入力変数にはコアのペイロード・ドキュメントだけを指定します。SOAPパッケージは、Oracle Service Busによって自動的に作成されます。そのため、入力ドキュメントを<soap-env:Body>...</soap-env:Body>でラップしません。

    たとえば、このリクエスト・パラメータに使用されるbody入力変数を作成する場合は、$body(soap-env:Bodyラッパーが保持されます)ではなく、body/*(ラッパーsoap-env:Bodyを削除します)というXPath文を使用して、その変数のコンテンツを定義します。

  • 「レスポンス・パラメータ」フィールドに、実行時にレスポンスを割り当てる変数の名前を入力します。

「リクエスト・ドキュメント」および 「レスポンス・ドキュメント」

これらのオプションを構成するには:

  • 「リクエスト・ドキュメント変数」フィールドに、リクエスト・ドキュメントを割り当てる変数の名前を入力します。

    SOAPドキュメント・タイプのサービスの場合、サービスに送信されるSOAPメッセージの本文を作成する変数は、実行時に評価されます。任意のXMLサービスの場合、サービスに送信されるXMLメッセージの本文を作成する変数は、実行時に評価されます。

    SOAPドキュメント・タイプのサービスおよび任意のXMLサービスの場合、入力変数にはコアのペイロード・ドキュメントだけを指定します。SOAPパッケージは、Oracle Service Busによって自動的に作成されます。そのため、入力ドキュメントを<soap-env:Body>...</soap-env:Body>でラップしません。

    たとえば、このリクエスト・パラメータに使用されるbody入力変数を作成する場合は、$body(soap-env:Bodyラッパーが保持されます)ではなく、body/*(ラッパーsoap-env:Bodyを削除します)というXPath文を使用して、その変数のコンテンツを定義します。

    メッセージ・サービスの場合、メッセージの本文を作成する変数は、サービスが予期するデータ型に基づいて評価されます。次の制限は、メッセージ・サービスで使用される変数に適用されます。

  • バイナリ・データを受信するサービスの場合は、変数にctx:binary-content要素が必要です。

  • MFLデータを受信するサービスの場合は、変数に同等のXMLデータが必要です。

  • テキスト・データを受信するサービスの場合、変数は文字列になります。

  • 「レスポンス・ドキュメント変数」フィールドに、実行時にレスポンス・ドキュメントを割り当てる変数の名前を入力します。


必要に応じて、1つまたは複数のトランスポート・ヘッダー・アクションを追加します。トランスポート・ヘッダー・アクションの詳細は、4.11.34項「トランスポート・ヘッダー・アクションのプロパティ」を参照してください。


注意:

指定するトランスポート・ヘッダーに加え、その他のヘッダーがOracle Service Busバインディング・レイヤーによって追加されます。

必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

4.11.32 スキップ・アクションのプロパティ

メッセージ・フローでは、スキップ・アクションを使用して、実行時に現在のステージの実行をスキップし、メッセージ・フローの次のステージに処理が進むように指定します。このアクションにはパラメータがなく、リクエスト・パイプライン、レスポンス・パイプライン、エラー・パイプラインで使用できます。

メッセージ・フロー・エディタで、スキップ・アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したスキップ・アクションを構成します。ページは次のとおりです。

  • コメント

  • ネームスペース

  • 変数

必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.33 ステージ・ノードのプロパティ

メッセージ・フローでは、メッセージ・フローのアクションのコンテナとしてステージ・ノードを使用します。複数のステージをつなぎ合わせて、処理ロジックを区分できます。

メッセージ・フロー・エディタで、ステージ・ノードをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページは、選択したステージ・ノードの構成に使用します。ページは次のとおりです。

  • ステージ

  • ネームスペース

  • 変数

「ステージ」ページには、以下のオプションが含まれます。

表4-71 開始ノードのオプション

オプション 説明

名前

ステージ・ノードの名前を入力します。

説明

ステージ・ノードの説明を入力します。


定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.34 トランスポート・ヘッダー・アクションのプロパティ

メッセージ・フローでは、トランスポート・ヘッダー・アクションを使用して、メッセージのヘッダー値を設定します。

メッセージ・フロー・エディタで、トランスポート・ヘッダー・アクションをクリックし、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択したトランスポート・ヘッダー・アクションを構成します。ページは次のとおりです。

  • トランスポート・ヘッダー

  • コメント

  • ネームスペース

  • 変数

「トランスポート・ヘッダー」ページには次のオプションがあります。

表4-72 トランスポート・ヘッダー・アクションのオプション

オプション 説明

方向

「のトランスポート・ヘッダーを設定」リストから、次のいずれかを選択して、どのメッセージ・コンテキストの場所を変更するかをランタイムに対して指定します。

  • 「アウトバウンド・リクエスト」 - アウトバウンド・リクエスト(ルート、パブリッシュまたはサービス・コールアウト・アクションでプロキシ・サービスによって送信されるメッセージ)のトランスポート・ヘッダーの値を設定するには、このオプションを選択します。これらのヘッダー要素は、メッセージ・コンテキストの次の場所にあります。

    $outbound/ctx:transport/ctx:request/tp:headers
    
  • 「インバウンド・レスポンス」 - インバウンド・レスポンス(プロキシ・サービスがクライアントに返信するレスポンス・メッセージ)のトランスポート・ヘッダーの値を設定するには、このオプションを選択します。これらのヘッダー要素は、メッセージ・コンテキストの次の場所にあります。

    $inbound/ctx:transport/ctx:response/tp:headers 
    

すべてのヘッダーを渡す

インバウンド・メッセージからアウトバウンド・メッセージへ、またはアウトバウンド・メッセージからインバウンド・メッセージへ、すべてのヘッダーをそのまま渡すには、このオプションを選択します。ソース・ヘッダー・セットのすべてのヘッダーはターゲット・ヘッダー・セットにコピーされ、ターゲット・ヘッダー・セットの既存の値はすべて上書きされます。

ヘッダー

「ヘッダーの追加」をクリックして、ヘッダーをヘッダー表に追加します。次の手順に従って、各ヘッダーを構成します。

このテーブルには、必要な数のヘッダーを追加することができます。ランタイムでは、対応するXMLの生成時に、ネームスペースを宣言し、適切な順序でヘッダー要素を配置するため、テーブルのヘッダーの順序を指定する必要はありません。

ヘッダー: 名前:

以下のいずれかを実行して、ヘッダーを指定します。

  • 「名前」列のリストから、ヘッダー名を選択します。リストには、事前定義されたすべてのターゲット・トランスポートのヘッダー名が含まれています(たとえば、HTTPトランスポートの場合はContent-Type、JMSトランスポートの場合はJMSCorrelationIDなど)。

  • 「その他」フィールドにヘッダー名を入力します。ヘッダー名がこのサービスのトランスポート用に事前定義されたいずれかのヘッダーでない場合、そのヘッダーはトランスポート仕様の定義のとおりユーザー・ヘッダーになります。

ヘッダー: アクション

次のいずれかのオプションを選択して、ヘッダーの値の設定方法を指定します。

  • ヘッダーを式に設定

    このオプションを選択すると、XQuery式またはXSLT式を使用して、ヘッダーの値を設定できます。「text/xml」などの簡単な式にすることも、複雑なXQuery式またはXSLT式にすることもできます。

    Oracle Service Busトランスポート・レイヤーでは、すべてのヘッダーのXML表現を文字列値として定義するため、式の結果は、ヘッダーの値が設定される前に文字列に変換されます。何も返さない式のヘッダーの値は、空の文字列に設定されます。式を使用してヘッダーを削除することはできません。

    注意: このアクションで指定できるすべてのヘッダーの設定が実行時に使用されるわけではありません。

  • 「ヘッダーの削除」

    リクエストまたはレスポンスのメタデータからヘッダーが削除されるように指定します。

  • 「インバウンド・リクエストからヘッダーをコピー」(アウトバウンド・リクエストのトランスポート・ヘッダーを設定している場合)

    または

    「アウトバウンド・レスポンスからヘッダーをコピー」(インバウンド・レスポンスのトランスポート・ヘッダーを設定している場合)

    このヘッダーがインバウンド・メッセージの同じ名前を持つ対応するヘッダーからアウトバウンド・メッセージに、またその逆に直接コピーされるように指定します。たとえば、アウトバウンド・リクエストのSOAPActionヘッダーを設定する場合は、「インバウンド・リクエストからヘッダーをコピー」を選択すると、ランタイムが$inboundのSOAPActionリクエスト・ヘッダーから値をコピーします。インバウンド・レスポンス・ヘッダーの場合、コピーするヘッダーのソースは、$outboundのレスポンス・ヘッダーです。

    ソースに存在しないヘッダーについてヘッダーをコピーオプションが選択された場合、このオプションは無視され、このヘッダーのターゲットではアクションが実行されません。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.11.35 検証アクションのプロパティ

メッセージ・フローでは、検証アクションを使用して、XMLスキーマ要素またはWSDLリソースに照らし、XPath式で選択した要素を検証します。検証できるのは、グローバル要素のみです。Oracle Service Busはローカル要素に対する検証に対応していません。

メッセージ・フロー・エディタで、検証アクションをクリックして、プロパティ・ビューにそのプロパティを表示します。このプロパティ・ページを使用して、選択した検証アクションを構成します。ページは次のとおりです。

  • 検証

  • コメント

  • ネームスペース

  • 変数

「検証」ページには、以下のオプションが用意されています。

表4-73 検証アクションのオプション

オプション 説明

XPath

検証する要素を指定するXPath式です。

XPath式を作成または編集するには、「<XPath>」(定義済の場合は、XPath式のフラグメント)をクリックして、XPath式エディタを表示します。

in変数

検証する要素を保持する変数の名前です。変数の名前を入力するか、コンテンツ支援が有効になっている場合は [Ctrl]と[Space] を同時に押して、宣言済の変数のリストを表示します。

対象リソース

XPath式(上で説明した「XPath」フィールド)によって選択された要素の検証の対象となるXMLスキーマ要素またはWSDLリソースです。

変数の保存

または

エラーの生成

この検証の結果(ブール結果)を保存する場合は、変数の保存を選択し、結果を保存する変数の名前を入力します。

また、WSDLやXMLスキーマ要素に照らした要素の検証が失敗したときにエラーを発生させる場合は、「エラーの生成」を選択します。


必要であれば、「コメント」ページを使用してコメントを追加します。

定義済みのネームスペースのリストを表示したり、新しいネームスペースを作成したりするには、「ネームスペース」ページを使用します。

定義されているコンテキスト変数のリストを表示したり、新しいコンテキスト変数を作成したりするには、「変数」ページを使用します。

4.12 JAR依存関係の変更ダイアログ

Oracle Service Busでは、別のJAR内の他のクラスに依存するクラスをJARリソースに格納できます。JAR依存関係の変更ページを使用して、参照されるJARリソースを追加または削除します。「上へ」ボタンと「下へ」ボタンを使用して、参照されるJARの階層構造の順序(優先順位)を変更します。詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のJARに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG898)を参照してください。

表4-74 JAR依存関係の変更のプロパティ

オプション 説明

使用可能なJAR

プロジェクト名と、JARリソースがあるとフォルダの名前(該当する場合)です。この列には、現在のワークスペースで使用できるすべてのJARが表示されます。

JAR参照

参照されるJARリソースの名前とパスです。この列には、現在の構成で依存関係があるすべてのJARが表示されます。


4.13 SMTPサーバー

以下のエディタおよびウィザードを使用して、SMTPサーバーの操作を行います。

4.13.1 「SMTPサーバーの編集」ページ

このページを使用し、SMTPサーバーの詳細を表示し、必要であれば構成を編集します。フィールドの詳細は、4.13.2項「新しいSMTPサーバー・リソース・ウィザード」を参照してください。

SMTPリソースの名前を変更した場合、エンドポイントURIでSMTPリソースを参照するすべての電子メール・ビジネス・サービスで、新しい名前が自動的に更新されます。

4.13.2 新しいSMTPサーバー・リソース・ウィザード

このページを使用して、新しいSMTPサーバー・リソースを構成します。

表4-75 新しいSMTPサーバーのオプション

オプション 説明

説明

このSMTPサーバー・リソースの説明を入力します。

サーバーURL

SMTPサーバーを参照するURLを入力します。このフィールドは必須です。

ポート番号

SMTPサーバーのポート番号を入力します(デフォルト・ポートは25です)。このフィールドは必須です。

ユーザー名

目的のSMTPサーバーにアクセスするためにユーザー名およびパスワードが必要な場合は、「ユーザー名」フィールドにユーザー名を入力して、関連するパスワードを「パスワード」フィールドと「パスワードの確認」フィールドに入力します。

これらのフィールドは省略可能です。SMTPサーバーが保護されている場合のみ必要となります。

パスワード

ユーザー名に関連付けられているパスワードを入力します。

パスワードの確認

「パスワード」フィールドに入力したものと同じパスワードを入力します。


4.14 「UDDIレジストリの構成」ページ

このページでは、UDDIレジストリ・リソースを構成します。このページは、「新しいUDDIレジストリ・リソース」ウィザードおよびUDDI構成エディタに表示されます。

詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のUDDIに関する項(http://www.oracle.com/pls/as1111/lookup?id=OSBAG392)を参照してください。

表4-76 UDDIレジストリのオプション

オプション 説明

説明

レジストリの説明を入力します。

照会URL

サービスの検索とインポートで使用される照会APIエンドポイントのURLです。http://host:port/APPLICATION_SERVER_CONTEXT/uddi/inquiryの形式で照会URLを入力します。

パブリッシュURL

サービスのパブリッシュで使用されるパブリッシュAPIエンドポイントのURLです。http://host:port/APPLICATION_SERVER_CONTEXT/uddi/publishingの形式でパブリッシュURLを入力します。

セキュリティURL

レジストリへのパブリッシュを行うために必要な認証トークンの取得に使用される、セキュリティAPIエンドポイントのURLです。http://host:port/APPLICATION_SERVER_CONTEXT/uddi/securityの形式でセキュリティURLを入力します。

サブスクリプションURL

レジストリの変更へのサブスクリプション、レジストリのサブスクリプションの作成、インポート・サービスに変更がないかどうかのリスニングのために使用される、サブスクリプションAPIエンドポイントのURLです。次のフォーマットでサブスクリプションURLを入力します。

http://host:port/APPLICATION_SERVER_CONTEXT/uddi/subscription

インストーラのAPPLICATION_SERVER_CONTEXTのデフォルト値はregistryです。

ユーザー名

レジストリ・コンソールにログインする際のユーザー名を入力します。

パスワード(パスワードの確認)

レジストリ・コンソールにログインする際のパスワードを入力します。

検証

構成されたレジストリへの接続を作成できることを検証するには、「検証」をクリックします。


4.15 アウトライン・ビュー - Oracle Service Bus

このビューには、現在エディタ領域で開かれている構造化ファイルの階層ビュー(アウトライン)が表示されます。このビューの内容は、エディタに固有です。

Oracle Service Busで、プロキシ・サービスが起動しており、メッセージ・フロー・エディタが選択されている場合、アウトライン・ビューにはメッセージ・フローのノードとアクションが階層ビューとして表示されます。メッセージ・フロー・エディタが表示されている場合、サービスの階層ビューとサムネイル・ビューを切り替えることができます。

サムネイル・ビューでメッセージ・フロー全体がエディタに収まりきらない場合は、エディタに表示されているフローの部分を示す青いマスクがアウトライン・ビューに表示されます。フローの別の部分を表示するには、エディタに表示するフローの部分にマスクをドラッグします。

4.16 リソース管理

以下を使用して、リソース管理を行います。

4.16.1 「プリファレンス」ダイアログ - Oracle Service Bus - タイプの関連付けページ

このページでは、1つ以上のファイル拡張子をOracle Service Busリソース・タイプに関連付けます。

表4-77 タイプの関連付けのプロパティ

オプション 説明

リソース・タイプ

このペインには、使用できるすべてのOracle Service Busリソース・タイプが一覧表示されます。タイプを選択すると、そのタイプに関連付けられているファイル拡張子が表示されます。


4.16.2 参照ビュー

このページを使用して、リソースの依存関係を表示します。プロジェクト・エクスプローラとアクティブなエディタのどちらであっても、このビューでは、現在の選択内容が表示されます。

表4-78 参照の依存関係のプロパティ

オプション 説明

参照元

このプロジェクト/フォルダの中のリソース、またはこのリソースに依存するこのプロジェクト、フォルダ、またはリソースに対して外部のリソースのリストです。

参照

このプロジェクト/フォルダの中のリソース、またはこのリソースが依存するこのプロジェクト、フォルダ、またはリソースに対して外のリソースのリストです。


4.16.3 クローン対象の選択ダイアログ

このダイアログを使用して、新しいプロジェクトまたは別のプロジェクト内のフォルダとして、プロジェクトのクローンを作成する場所を指定します。

表4-79 プロジェクトのクローン作成のオプション

オプション 説明

名前

新しい(クローンとして作成する)プロジェクトの名前を入力します。

プロジェクトとして

または

場所内のフォルダとして

プロジェクトとしてを選択すると、別のプロジェクト(他のプロジェクトのピア)として、プロジェクトのクローンが作成されます。

場所内のフォルダとしてを選択すると、プロジェクト(およびその内容)が、プロジェクト内のフォルダに変換されます。このオプションを選択するときは、新しい場所も選択する必要があります。


4.16.4 リソースの選択ダイアログ

このダイアログを使用して、Oracle Service Busプラグインで作成またはOracle Service Busプラグインにインポートされている、コンテキストに適合するリソースを選択します。エディタまたはウィザードの「参照」をクリックすると、コンテキストに適した使用可能なリソースがこのダイアログに表示されます。ダイアログの名前は、「WSDLの選択」「MFLの選択」「XMLスキーマの選択」などのように、表示されるリソースのタイプによって異なります。ダイアログには、各リソースに含まれる項目の階層リストが表示される場合もあります。たとえば、「XMLスキーマの選択」ダイアログには、スキーマで定義されている要素とタイプが一覧表示されます。「WSDLの選択」ダイアログには、WSDLで定義されているポートとバインディングが表示されます。

場合によっては、「WSDLの選択」ダイアログなどでは消費ボタンをクリックすると、サービス消費ダイアログが開きます。このダイアログで、Oracle Enterprise Repository、ファイル・システム、UDDI、URI、ワークスペースなどのリソース・タイプからサービスを消費できます。

4.17 新しいサービス・キー・プロバイダ・リソース

サービス・キー・プロバイダ・リソースを作成した後に、このページを使用して構成します。

表4-80 新しいサービス・キー・プロバイダのオプション

オプション 説明

説明

サービス・キー・プロバイダの説明を入力します。

暗号化鍵

暗号化鍵を入力するには:

  1. 「暗号化鍵」の横にあるチェック・ボックスを選択します。

  2. 暗号化をサポートするX.509証明書にマップされたキー・エイリアスを入力するか、「参照」をクリックして、現在のレルムのPKI資格証明マッピングで使用中のキーストアからキー・エイリアスを表示します。

  3. キーストアへのアクセスをセキュリティで保護するために使用するパスワードを入力します(このパスワードはキーストアの作成時に設定します)。

このサービス・キー・プロバイダをプロキシ・サービスに関連付けると、Oracle Service BusによりX.509証明書がプロキシ・サービスのWSDLに組み込まれます。その後、プロキシ・サービスはこの証明書を使用してエンドポイントに送信するメッセージを暗号化します。プロキシ・サービスは、PKI資格証明情報に含まれる秘密鍵を使用して、エンドポイントから返されるメッセージの暗号化を解除します。

デジタル署名鍵

デジタル署名鍵を入力するには:

  1. 「デジタル署名鍵」の横にあるチェック・ボックスを選択します。

  2. キー・エイリアスを入力するか、「参照」をクリックして現在のレルムのPKI資格証明マッピングで使用中のキーストアからキー・エイリアスを表示します。

  3. キーストアへのアクセスをセキュリティで保護するために使用するパスワードを入力します(このパスワードはキーストアの作成時に設定します)。

SSLクライアント認証キー

SSLクライアント認証キーを入力するには:

  1. 「SSLクライアント認証キー」の横にあるチェック・ボックスを選択します。

  2. キー・エイリアスを入力するか、「参照」をクリックして現在のレルムのPKI資格証明マッピングで使用中のキーストアからキー・エイリアスを表示します。

  3. キーストアへのアクセスをセキュリティで保護するために使用するパスワードを入力します(このパスワードはキーストアの作成時に設定します)。


4.18 新しいWS-Policy

Web Services Policy Framework (WS-Policy)は、XMLベースの拡張フレームワークです。Webサービスの構成にドメイン固有のセキュリティ・アサーションを拡張し、Webサービスのセキュリティ要件、期待される条件、および機能を指定します。Oracle Service BusにおけるWS-Policyの主な使用方法の1つとして、プロキシ・サービスおよびビジネス・サービスでの、メッセージ・レベル・セキュリティの構成があります。

このページでは、新しいWS-Policyリソースの名前と場所を選択します。

表4-81 新しいWS-Policyのオプション

オプション 説明

親フォルダを入力または選択してください

新しいWS-Policyリソースを配置するプロジェクトまたはフォルダの名前を入力または選択します。

ファイル名

このWS-Policyの名前を入力します。


4.19 サービス・アカウント

以下を使用して、サービス・アカウントの操作を行います。

4.19.1 新しいサービス・アカウント・リソース

サービス・アカウント・リソースを作成したら、サービス・アカウント・リソース・エディタを使用してサービス・アカウント・リソースを構成します。

表4-82 新しいサービス・アカウントのオプション

オプション 説明

説明

サービス・アカウントの説明を入力します。

リソース・タイプ


4.19.2 サービス・アカウント・エディタ - 「全般的な構成」ページ

このページを使用して、以下の表に示すように、サービス・アカウント・リソースを構成します。

表4-83 サービス・アカウントの全般的なオプション

オプション 説明

説明

サービス・アカウントの説明を入力します。

リソース・タイプ

リソースの種類をそのままにするか、または別の種類を選択します。


4.19.3 サービス・アカウント・エディタ - 「静的ユーザー構成」ページ

このページを使用して、サービス・アカウントの構成にユーザー名とパスワードを保存します。サービス・アカウントはこのユーザー名とパスワードをアウトバウンド・リクエストでエンコードします。

表4-84 サービス・アカウントの静的ユーザーのオプション

オプション 説明

ユーザー名

このサービス・アカウントのユーザー名を入力します。

パスワード

ユーザー名に関連付けられているパスワードを入力します。

パスワードの確認

「パスワード」フィールドに入力したものと同じパスワードを入力します。


4.19.4 サービス・アカウント・エディタ - 「ユーザー・マッピング構成」ページ

このページを使用して、1つ以上のクライアントから指定するユーザー名およびパスワードにユーザー名をマップするサービス・アカウントを作成します。

表4-85 サービス・アカウントのユーザー・マッピングのオプション

オプション 説明

リモート・ユーザー

「リモート・ユーザー名」および「リモート・パスワード」フィールドに、アウトバウンド・リクエストで送信するユーザー名とパスワードを入力します。

(オプション)リモート・ユーザー・テーブルで、他のリモート・ユーザーを追加します。

ローカル・ユーザー・マッピング

「承認された」クライアントをリモートのユーザー名およびパスワードにマップするには、「ローカル・ユーザー名」フィールドに、インバウンド・リクエストで認証されたクライアントを識別する名前を入力します。

このユーザーをOracle Service Busコンソールの「セキュリティ構成」モジュールに追加していない場合は、このマッピングを実行時環境で使用する前にユーザーを追加します。Oracle Service Busでは、存在しないローカル・ユーザーのマッピングを作成することができますが、このマッピングは認証されたユーザーに一致しないため使用されません。

「リモート・ユーザー名」リストから、「ローカル・ユーザー名」フィールドで指定した認証ユーザーに関するアウトバウンド・リクエストで送信するユーザー名を選択します。

匿名リクエストのマッピング

匿名のクライアントをリモートのユーザー名にマップするには、「匿名リクエストのマッピング」チェック・ボックスを選択します。

「リモート・ユーザーの選択」リストから、すべての匿名ユーザーに関するアウトバウンド・リクエストで送信するユーザー名を選択します。


4.20 式エディタ

以下のエディタを使用して、サービスに使用する式を記述します。

4.20.1 XQuery/XSLT式エディタ

「XQuery/XSLT式エディタ」ページでは、変数の構造の作成、ユーザーのネームスペースの定義、事前定義されたメッセージ・コンテキスト変数を使用したインラインXQuery式の作成、インラインXQuery式の手動での作成、およびインラインXQueryとして実行するXQueryまたはXSLTリソースの選択を行うことができます。

XQuery/XSLT式エディタには2つのパネルが含まれており、各パネルには3つのタブが用意されています。

左側のパネルを使用して、式の記述または作成を行います。パネルには、以下のページ(タブ)が用意されています。

右側のパネルのタブを使用して、XQueryまたはXSLTの作成に使用できる変数、ネームスペース、およびXQuery関数を管理します。パネルには、以下のページ(タブ)が用意されています。

4.20.2 XPath式エディタ

XPath式エディタを使用して、XPath式を作成します。作成したXPath式は、その後、エディタを起動した場所に挿入されます。

XPath式エディタには、以下のページが含まれます。

有効なXPath式を作成するには、「式」テキスト・フィールドに式を直接記述するか、「変数の構造」ページから変数をドラッグして「XQuery関数」ページからXQuery関数をドラッグできます。

式の作成が終了したら、「テスト」をクリックして、実行中のサーバーで式をテストできます。または、「OK」をクリックして、テストを行わずに式を挿入することもできます。

4.20.3 条件エディタ

条件エディタを使用して、インラインXQuery条件を作成します。

左側のパネルを使用して、条件の記述または作成を行います。パネルには、次に説明する各タブがあります。

右側のパネルのタブを使用して、条件の作成に使用できる変数、ネームスペース、およびXQuery関数を管理します。パネルには、次のタブがあります。これらのタブは、XQuery/XSLT式エディタの右側のパネルにあるタブと同じです。以下のリンクは、XQuery/XSLT式エディタにあるこれらのタブについてヘルプを表示します。

4.20.4 「条件ビルダー」ページ

「条件ビルダー」ページを使用して、インライン条件を作成します。このページは、条件エディタにのみ表示されます。

「条件ビルダー」で次のように式を作成します。

  1. 比較式を作成するには「比較式」を選択します。または、単項式を作成するには「単項式」を選択します。

  2. 「比較式」を選択した場合は、次の手順を実行します。

    1. 「オペランド」フィールドに、値と比較するオペランドの名前を入力します。または、右側の「変数の構造」タブから「オペランド」フィールドに項目をドラッグします。

    2. 「値」フィールドにそのオペランドの比較対象の値を入力します。または、右側の「変数の構造」タブから「値」フィールドに項目をドラッグします。

    3. 「演算子」リストから比較演算子を選択します。

    4. ステップ4に進みます。

  3. 「単項式」を選択した場合は、次の手順を実行します。

    1. 「NOT」チェック・ボックスを選択または選択解除して、式をtrueとして評価するか、trueではないとして評価するかを指定します。これにより、式をnot()で囲む必要があるかどうかを指定することになります。

    2. テキスト・フィールドに式を入力するか、または右側にある「変数の構造」タブから項目をドラッグして式を作成します。

  4. 以下のいずれかの操作を行います。

    • 新しい文を「条件式」フィールドの式に追加するには、「追加」をクリックします。

    • 文を変更するには、「条件式」フィールドでその文を選択してから、「更新」をクリックします。

  5. 「テスト」をクリックして実行中のサーバーで式をテストするか、または「OK」をクリックして条件をメッセージ・フローに挿入します。

4.20.5 「式」ページ

このページは、XQuery/XSLT式エディタXPath式エディタおよび条件エディタに表示されます。

「式」ページには、式を作成できるテキスト・フィールドがあります。作成するには、フィールドに直接入力するか、またはエディタの右側にある「変数の構造」ページ「XQuery関数」ページから項目をドラッグします。

Oracle Service Busドメインの実行中のサーバーで式をテストするには、「テスト」クリックします。WebLogic ServerはOracle Service Busと共にパッケージ化されています。そのため、Oracle Service Busのインストールに含まれている組込みサーバーをテストの目的に使用できます。

4.20.6 「XQueryリソース」ページ

このページは、XQuery/XSLT式エディタにのみ表示されます。

プロキシ・サービスのメッセージ・フローでは、メッセージ・コンテキスト変数へのXQuery式の割り当て、XQuery式のブール結果に基づくif-then-elseアクションの割り当て、XPath式に対して相対的に指定した位置へのXQuery式の結果の挿入、コンテキスト変数のXQuery式を使用したログ用のメッセージ・コンテキストの指定などを実行できます。

「XQueryリソース」ページを使用して、XQueryトランスフォーメーションを構成し、プロキシ・サービスのメッセージ・フローで実行されるようにします。

表4-86 XQueryリソースのオプション

フィールド 説明

XQuery

実行されるXQueryリソースです。Oracle Service Busに登録されているXQueryリソースを検索して開くには、「参照」をクリックします。

変数のバインド

リソースを選択すると、トランスフォーメーションの各入力パラメータが表示されます。各ラベルはパラメータ名に相当し、各テキスト・ボックスはそのパラメータにマッピングされるXQuery式を定義するためのものです。マッピングはパラメータごとに定義する必要があります。式を直接入力するか、または右側のパネルから変数および構造をドラッグします。


4.20.7 「XSLTリソース」ページ

このページは、XQuery/XSLT式エディタにのみ表示されます。

「XSLTリソース」タブを使用して、XSLTトランスフォーメーションを構成し、プロキシ・サービスのメッセージ・フローで実行されるようにします。

表4-87 XSLTリソースのオプション

フィールド 説明

XSLT

実行するXSLTリソースです。Oracle Service Busに登録されたリソースを検索して開くには、「参照」をクリックします。

入力ドキュメント

トランスフォーメーションに対する入力ドキュメントのXQuery式です。たとえば、$bodyです。

変数のバインド

ラベルとそれに対応するテキスト・ボックスがトランスフォーメーションの入力パラメータごとに表示されます。各ラベルはパラメータ名に相当し、各テキスト・ボックスはそのパラメータにバインドされるXQuery式を定義するためのものです。バインドはパラメータごとに定義する必要があります。たとえば、XSLトランスフォーメーションにoneおよびtwoという入力パラメータがある場合、「変数名」フィールドには、「one」および「two」というラベルと、ラベルごとにXQuery式を入力するテキスト・ボックスが表示されます。

式を直接入力するか、または右側のパネルから変数および構造をドラッグします。

次のXQuery式は、このフィールドの有効な入力例です。

$body/*[1]
$body/po:PurchaseOrder

注意: 次の変数名はこのフィールドでは無効な入力となり、例外が発生します。

body

4.20.8 「動的XQuery」ページ

このページは、XQuery/XSLT式エディタにのみ表示されます。

事前登録されたXQueryリソースの名前に実行時に評価する動的XQuery式を指定することができます。Oracle Service Busは、要求されたトランスフォーメーションを作成するメッセージ・コンテキストに対して、省略可能な変数バインドでこのXQueryリソースを実行します。

「XQueryリソース」ページを使用して、プロキシ・サービスのメッセージ・フローで実行される動的XQueryトランスフォーメーションを構成します。

表4-88 動的XQueryのオプション

フィールド 説明

事前登録されたXQueryリソースの名前で、実行時に評価される動的XQuery式

XQueryリソース(リソースの完全な名前を表す)の構文は次のとおりです。

Project/folder1/folder2/XQueryResourceName

XQueryテンプレートの選択

問合せの形式のためのテンプレートとして機能するリソース(変数の番号と名前)。「参照」をクリックし、既存の登録されているリソースを選択します。テンプレートを選択した後、変数が「変数のバインド」領域に表示されます。テンプレートは構成で保持されることはありません。かわりに、テンプレートは、問合せに変数を指定するのに役立つクイック・スタートとして機能します。

カスタム変数の追加

トランスフォーメーションの入力パラメータ。「カスタム変数の追加」フィールドに変数名を入力して、「追加」をクリックします。

変数のバインド

カスタム変数を追加すると、それが「変数のバインド」領域に表示されます。同様に、XQueryテンプレートを選択すると、 トランスフォーメーションの各入力パラメータが表示されます。各ラベルはパラメータ名に相当し、各テキスト・ボックスはそのパラメータにマッピングされるXQuery式を定義するためのものです。マッピングはパラメータごとに定義する必要があります。式を直接入力するか、または右側のパネルから変数および構造をドラッグします。


4.20.9 「変数の構造」ページ

このページは、XQuery/XSLT式エディタXPath式エディタおよび条件エディタに表示されます。

「変数の構造」ページは、変数とそのコンテンツをツリーで表示します。これには、組込みのメッセージ・コンテキスト変数attachmentsbodyheaderoutboundおよびinboundに加えて、ユーザー定義変数が含まれています。faultは、式のコンテキストが該当する場合に含まれます(つまり、エラー・ハンドラ内に)。outbound変数は、すべてのコンテキストで有効ではない場合も必ず表示されます。outboundが無効なコンテキストで使用されると、検証時に報告されます。

変数の構造のマッピングでは、各エントリはラベルを持ち、変数または変数パスを1つまたは複数の構造にマップします。これらのマッピングのスコープは、ステージまたはルート・ノードです。

このページから項目をエディタの「式」ページにドラッグして、現在の式に挿入することができます。項目は、XPath式として挿入されます。

新しい変数を定義し、それを変数の構造ツリーに追加するには、「追加」をクリックして変数の構造の追加ダイアログを開きます。

4.20.10 「ネームスペース定義」ページ

このページは、XQuery/XSLT式エディタXPath式エディタおよび条件エディタに表示されます。

「ネームスペース定義」ページには、Oracle Service Busのデフォルト・ネームスペース、変数のネームスペース、およびユーザー定義ネームスペースが表示されます。新しいネームスペースを定義するには、「追加」をクリックします。定義されたネームスペースはユーザー定義ネームスペースのリストに追加されます。ユーザー定義ネームスペースを変更するには、リストから対象のネームスペースを選択して「編集」をクリックします。

4.20.11 「XQuery関数」ページ

このページは、XQuery/XSLT式エディタXPath式エディタおよび条件エディタに表示されます。

「XQuery関数」ページには、標準のXQuery関数のセットが表示されます。リストは、アルファベット順にタイプごとに整理されています。このページから関数をエディタの4.20.5項「「式」ページ」にドラッグして、現在の式に挿入することができます。関数を式に挿入するときは、指定の必要なパラメータの値にプレースホルダーが使用されます。

4.20.12 変数の構造の追加ダイアログ

このダイアログを使用して変数を定義し、それを式エディタ「変数の構造」ページで変数の構造ツリーに追加します。

設計の目的で変数の構造を定義するために、このダイアログで変数の構造を作成します。たとえば、XPath変数のXMLスキーマを確認するよりも、構造ビューでXPath変数を参照する方が容易です。変数の構造では、変数は作成されません。変数は、ステージでの割当てアクションの対象として実行時に作成されます。

以下に基づいて、独自の変数の構造を宣言することができます。

  • XMLタイプ(次のものを含みます)

    • スキーマ要素

    • WSDL要素

    • スキーマ・タイプ

    • WSDLタイプ

  • MFL

  • サービス・インタフェース

  • 単純な型(文字列または任意のXML)

この機能は、すべてのユーザー定義変数と$inbound$outboundおよび$faultに対して直接使用できます。ただし、この機能を使用して$attachmentsのXML添付ファイル、$headerのヘッダーまたは$bodyのドキュメントとRPCパラメータに直接アクセスすることはできません。例外として、WSDLプロキシ・サービスによって受信されたリクエスト・メッセージの$bodyのドキュメントとパラメータには直接アクセスできます。

変数の構造をXMLの型、MFL、またはサービス・インタフェースに基づいて作成する場合、ページ上部にあるフィールドに以下の情報を入力する必要があります。

表4-89 変数の構造のオプション

オプション 説明

構造ラベル

作成する変数の表示名です。この表示名を使用すると、実行時には影響を及ぼさず設計時に構造を認識できるように、構造に意味のある名前を付けることができます。

構造パス

実行時の変数の構造のパスです。


4.21 新しいXSLトランスフォーメーション

トランスフォーメーション・マップは、2つのデータ型の間のマッピングを記述したものです。eXtensible Stylesheet Language Transformation (XSLT)マップでは、XMLからXMLへのマッピングを記述します。

このページでは、新しいXSLトランスフォーメーションの名前と場所を選択します。このウィザードを使用して、XSLTの骨組みを作成します。XSLTエディタで詳細を追加します。

表4-90 新しいXSLトランスフォーメーションのオプション

オプション 説明

親フォルダを入力または選択してください

新しいXSLトランスフォーメーションを配置するプロジェクトまたはフォルダの名前を入力または選択します。

ファイル名

この新しいXSLトランスフォーメーションの名前を入力します。


4.22 分割-結合ユーザー・インタフェース・リファレンス

次のセクションでは、Oracle Service Busでの分割-結合の作成および構成に関わるフィールドとユーザー・インタフェース・コンポーネントについて説明します。

4.22.1 分割-結合デザイン・パレット

分割-結合デザイン・パレットは、分割-結合を構成するために使用できるすべての操作を示します。分割-結合にコントロールを挿入するには、アイコンをパレットから分割-結合エディタにドラッグします。エディタに項目をドラッグすると、ドラッグしてきた項目をエディタ内の位置にドロップできることを示す1つまたは複数のターゲット・アイコンが表示されます。項目をこのようなターゲット・アイコンにドラッグすると、アイコンが強調表示され、そこに項目をドロップできることがわかります。

4.22.1.1 操作

分割-結合デザインのパレットは、次のカテゴリに分類されます。

  • 通信

  • フロー制御

  • 割当て操作

次の表では、分割-結合に追加できる操作について説明します。

表4-91 分割-結合の通信操作

操作 説明

サービスの呼出し

サービスを呼び出す操作は、WSDLベース、非トランスポート型ビジネス・サービス、WSDLベースのプロキシ・サービス、または分割-結合を呼び出します。

構成のプロパティは、4.22.5項「サービスの呼出しのプロパティ」を参照してください。

返信

返信コントロールは、レスポンスまたはエラーをOracle Service Busメッセージ・フローに返送します。

構成のプロパティは、4.22.6項「返信のプロパティ」を参照してください。


表4-92 分割-結合のフロー制御操作

操作 説明

For Each

For Eachは、スコープ内で構成されているロジックを指定回数だけ実行します。

構成のプロパティは、4.22.7項「For Eachのプロパティ」を参照してください。

If

Ifコントロールは、分割-結合内で条件動作を提供します。

構成のプロパティは、4.22.8項「Ifのプロパティ」を参照してください。

パラレル

パラレル・コントロールは、固定数の構成済みパラレル・ブランチを作成します。

構成のプロパティは、4.22.10項「パラレルのプロパティ」を参照してください。

エラーの生成

「エラーの生成」は、分割-結合の通常の処理を停止させるエラーを発生させます。 エラー・ハンドラを使用せずにエラーが処理されると、分割-結合は終了し、Oracle Service Busメッセージ・フローにエラーが送信されます。

構成のプロパティは、4.22.11項「エラーの生成のプロパティ」を参照してください。

Repeat Until

Repeat Untilによって、分割-結合で条件がtrueに評価されるまで操作を繰り返すことができます。各ループが終了した後で、条件が評価されます。

構成のプロパティは、4.22.12項「Repeat Untilのプロパティ」を参照してください。

エラーの再生成

エラーを再発生させる操作は、エラー・ハンドラ・キャッチまたはCatchAllによって捕捉されたエラーを再発生することができます。

構成のプロパティは、4.22.13項「エラーの再生成のプロパティ」を参照してください。

スコープ

スコープは、それに含まれる操作の動きに影響を与えるコンテキストを作成します。

構成のプロパティは、4.22.14項「スコープのプロパティ」を参照してください。

While

Whileによって、分割-結合で条件がfalseに評価されるまで操作を繰り返すことができます。各ループが始まる前に、条件が評価されます。

構成のプロパティは、4.22.15項「Whileのプロパティ」を参照してください。


表4-93 分割-結合の割当て操作

操作 説明

割当て

XQuery式の結果を変数に割り当てることができます。

構成のプロパティは、4.22.17.1項「割当て操作のプロパティ」を参照してください。

コピー

XPath式で指定された情報を、ソース・ドキュメントから、対象のドキュメントにコピーできます。

構成のプロパティは、4.22.18項「コピーのプロパティ」を参照してください。

削除

XPath式で指定されたノードのセットを削除できます。

構成のプロパティは、4.22.19項「削除のプロパティ」を参照してください。

挿入

XPath式で選択したノードを基準として特定された場所にXQuery式の結果を挿入できます。

構成のプロパティは、4.22.20項「挿入のプロパティ」を参照してください。

Javaコールアウト

検証、トランスフォーメーション、およびロギングなどのJavaで処理するカスタム・アクションのための分割-結合から静的Javaメソッドを呼び出すことができます。

構成のプロパティは、4.22.21項「Javaコールアウトのプロパティ」を参照してください。

ログ

管理者が適切なアクションを行うことができるように、指定された重大度でデータを記録します。

構成のプロパティは、4.22.22項「ログのプロパティ」を参照してください。

置換

XPath式で指定されたノードまたはノードのコンテンツを置き換えることができます。

構成のプロパティは、4.22.23項「置換のプロパティ」を参照してください。


操作には、ノードのラベル変更やコメント指定を行う全般プロパティ・タブがあります。

4.22.2 グローバル/開始ノードのプロパティ

分割-結合の開始ノードは、そのグローバル・プロパティを指定します。 これらのプロパティの間で、グローバル変数および関連付けられた外部サービスを左向き矢印を展開して確認および構成できます。グローバル・エラー・ハンドラは、右側の矢印を展開して確認および構成できます。

選択した分割-結合のグローバル・プロパティを確認および構成するには、「プロパティ」ビューを使用します。

このページには、以下の2つのタブがあります。

  • インポート

  • 全般

「インポート」タブには、以下のオプションがあります。

表4-94 分割-結合の開始ノードのオプション - 「インポート」タブ

オプション 説明

WSDLのimport

分割-結合で使用されるWSDLインポートを表示します。

一覧からWSDLを選択し、右クリックして削除します。

スキーマのimport

分割-結合で使用されるスキーマ・インポートを表示します。

一覧からスキーマを選択し、右クリックして削除します。


「全般」タブには次のオプションがあります。

表4-95 分割-結合の開始ノードのオプション - 「全般」タブ

オプション 説明

ラベル

プロセス・ノードを定義するファイルのラベルを入力します。

ドキュメント

説明やコメントを入力します。


4.22.3変数のプロパティ

選択した分割-結合にある変数を確認および構成するには、「プロパティ」ビューを使用します。

表4-96 分割-結合の変数のオプション

オプション 説明

(ツリー)

変数の型の階層構造を表します。

編集

変数の作成/編集ダイアログを表示するためにクリックします。ここで、変数の名前およびタイプを変更することができます。


4.22.4 エラー・ハンドラのプロパティ

エラー・ハンドラは、分割-結合で発生したすべてのエラーを受信して処理します。

エラー・ハンドラは、キャッチおよびCatchAll操作を追加することができます。

分割-結合で選択したエラー・ハンドラを確認および構成するには、「プロパティ」ビューを使用します。

「キャッチ」タブには、以下のオプションがあります。

表4-97 分割-結合のエラー・ハンドラのオプション - 「キャッチ」タブ

オプション 説明

SOAPフォルト変数名

SOAP (1.1または1.2)フォルトを格納する変数を定義します。呼び出された外部サービスから受信したSOAPフォルトによりエラー・ハンドラが実行された場合、受信したSOAPフォルトはこの変数に格納されます。

フォルト名–フォルトの定義

カスタム、ローカルなフォルトを定義できます。

ネームスペースおよびフォルト名を入力するには、フォルトの定義をクリックします。

フォルト名–事前定義済み

既存のWSDL、アプリケーションや標準のフォルトを選択することができます。

既存のフォルトを選択するには、フォルトの選択をクリックします。


catchAllタブには次のオプションがあります。

表4-98 分割-結合のエラー・ハンドラのオプション - CatchAllタブ

オプション 説明

SOAPフォルト変数名

SOAP (1.1または1.2)フォルトを格納する変数を定義します。呼び出された外部サービスから受信したSOAPフォルトによりエラー・ハンドラが実行された場合、受信したSOAPフォルトはこの変数に格納されます。


4.22.5 サービスの呼出しのプロパティ

サービスを呼び出す操作は、WSDLベース、非トランスポート型ビジネス・サービス、WSDLベースのプロキシ・サービス、または他の分割-結合を呼び出します。

分割-結合で選択した「サービスを呼び出す」を確認および構成するには、「プロパティ」ビューを使用します。

「操作」タブには、以下のオプションがあります。

表4-99 分割-結合の呼出しサービスのオプション - 「操作」タブ

オプション 説明

操作

サービスによって呼び出される操作です。

「参照」 をクリックして、呼び出す操作を選択します。

操作を選択すると、分割-結合エディタの外部サービスを指す青い破線が表示されます。

サービスの場所

呼び出されるサービスの場所です。

サービス・ファイルを開くために場所のパスをクリックします。

QoS

トランザクション・サポートを制御するサービス品質オプションです。次のいずれかを選択します。

  • 「ベスト・エフォート」 – 操作は既存のトランザクションのコンテキストで実行しません。

  • 「必ず1回」 – 操作は既存のトランザクションのコンテキストで実行します。


「入力変数」タブには、以下のオプションがあります。

表4-100 分割-結合の呼出しサービスのオプション - 入力変数タブ

オプション 説明

メッセージ変数

操作の入力メッセージ・タイプとタイプが一致するメッセージ・タイプ変数のリストです。

新しいメッセージ変数を定義するには、メッセージ変数の作成を選択します。

注意: 操作の入力メッセージ・タイプとタイプが一致するメッセージ・タイプ変数が存在しない場合は、必要なタイプを持つメッセージ・タイプ変数を定義する必要があります。

メッセージ・タイプ・ネームスペース

操作の入力メッセージ・タイプのネームスペースです。

メッセージ・タイプ

操作の入力メッセージ・タイプです。


「出力変数」タブには、以下のオプションがあります。

表4-101 分割-結合の呼出しサービスのオプション - 出力変数タブ

オプション 説明

メッセージ変数

操作の出力メッセージ・タイプとタイプが一致するメッセージ・タイプ変数のリストです。

新しいメッセージ変数を定義するには、メッセージ変数の作成を選択します。

注意: 操作の出力メッセージ・タイプとタイプが一致するメッセージ・タイプ変数が存在しない場合は、必要なタイプを持つメッセージ・タイプ変数を定義する必要があります

メッセージ・タイプ・ネームスペース

操作の出力メッセージ・タイプのネームスペースです。

メッセージ・タイプ

操作の出力メッセージ・タイプです。


4.22.5.1 別の分割-結合の呼出し

分割-結合は、同じOracle Service Bus構成に別の分割-結合を呼び出します。この機能により、サービス設計において、より高い柔軟性が実現し、複雑な分割-結合を複数の分割-結合に分割し、分割-結合機能のコンポーネント化および再利用が可能になります。分割-結合間にデータのマーシャリングやアンマーシャリングはないので、パフォーマンスは保持できます。

循環的な分割-結合参照を作成しないようにする必要があります。Oracle Service Busは循環的な参照をチェックしません。

4.22.6 返信のプロパティ

返信コントロールは、レスポンスまたはフォルトをOracle Service Busメッセージ・フローに返送します。

分割-結合で選択した返信を確認および構成するには、「プロパティ」ビューを使用します。

「操作」タブには、以下のオプションがあります。

表4-102 分割-結合の返信のオプション - 「操作」タブ

オプション 説明

操作

返信によって呼び出される操作です。


「変数」タブには、以下のオプションがあります。

表4-103 分割-結合の返信のオプション - 「変数」タブ

レスポンスのオプション 説明

メッセージ変数

操作の出力メッセージ・タイプとタイプが一致するメッセージ変数のリストです。

新しいメッセージ変数を定義するには、メッセージ変数の作成を選択します。

注意: 操作の出力メッセージ・タイプとタイプが一致するメッセージ・タイプ変数が存在しない場合は、必要なタイプを持つメッセージ・タイプ変数を定義する必要があります。

メッセージ・タイプ・ネームスペース

操作の出力メッセージ・タイプのネームスペースです。

メッセージ・タイプ

操作の出力メッセージ・タイプです。

WSDLフォルト/SOAPフォルトの選択

フォルトの返信が、WSDLの操作で定義されているフォルト・メッセージか、または、明示的なSOAPフォルト・メッセージかを決定します。

WSDLフォルト名

WSDLの操作で定義されているフォルトのリストからフォルト名を選択します。

メッセージ変数

操作の出力メッセージ・タイプとタイプが一致するメッセージ変数のリストです。

新しいメッセージ変数を定義するには、メッセージ変数の作成を選択します。

注意: 操作の出力メッセージ・タイプとタイプが一致するメッセージ・タイプ変数が存在しない場合は、必要なタイプを持つメッセージ・タイプ変数を定義する必要があります。

メッセージ・タイプ・ネームスペース

操作の出力メッセージ・タイプのネームスペースです。

メッセージ・タイプ

操作の出力メッセージ・タイプです。

SOAPフォルト

SOAPフォルトを選択します。

4.22.29項「SOAPフォルト変数ダイアログ」を参照してください。

SOAPフォルトの伝播

エラー・ハンドラで定義されたSOAPフォルト変数にあるSOAPフォルトを伝播します。

4.22.4項「エラー・ハンドラのプロパティ」を参照してください。


返信には、フォルトを発生させずにフローのインスタンスを終了する暗黙的「終了」操作が自動的に含まれています。「終了」操作は、開発環境には表示されません。

4.22.7 For Eachのプロパティ

For Eachは、スコープ内で構成されているロジックを指定回数だけ実行します。

分割-結合で選択した「For Each」を確認および構成するには、「プロパティ」ビューを使用します。

「カウンタ変数」タブには、以下のオプションがあります。

表4-104 分割-結合のFor Eachのオプション - カウンタ変数タブ

オプション 説明

パラレル

以下のオプションのいずれかを選択します。

  • 「はい」を選択すると、For Eachのそれぞれの反復が並行して実行されます。

  • 「いいえ」を選択すると、For Eachのそれぞれの反復が順次実行されます。

カウンタ変数名

For Eachのスコープ内で、暗黙的な変数を定義します。For Eachのそれぞれの反復には、この変数の単独のインスタンスが含まれます。つまり、たとえば、最初の反復の値が開始カウンタ値に設定され、2つ目の反復が開始カウンタ値+1に設定されるといった具合に、すべてのインスタンスが、反復数に設定されます。

開始カウンタ値

For Eachの最初の反復のカウンタ変数の値です。XPath式の結果として決定されます。結果は1以上である必要があります(開始カウンタ値に0は使用できません)。

「参照」ボタンをクリックすると、式ビルダーが起動します。式は最初の開始カウント値に対して整数値を生成する必要があります。

最終カウンタ値

For Eachの最後の反復のカウンタ変数の値です。XPath式の結果として決定されます。結果は1以上である必要があります(最終カウンタ値に0は使用できません)。

「参照」ボタンをクリックすると、式ビルダーが起動します。式は最終カウント値に対して整数値を生成する必要があります。


「完了条件」タブには、以下のオプションがあります。

表4-105 分割-結合のFor Eachのオプション - 完了条件

オプション 説明

完了したブランチの数

ブランチの作成がいつ停止するかを示す省略可能な式。分割-結合にあるコンテキストに応じて、式は子の実行を回避するか、子の早期終了を強制します。

「参照」ボタンをクリックすると、式ビルダーが起動します。

成功ブランチのみ?

完了条件が満たされるかどうかを判断する際に正常に終了したブランチのみをカウントする場合、このオプションを選択します。


4.22.8 Ifのプロパティ

Ifノードには、If、Else IfおよびElse操作が含まれます。4.22.9項「IfとElse Ifのプロパティ」を参照してください。

分割-結合で選択したIfを確認および構成するには、「プロパティ」ビューを使用します。

4.22.9 IfとElse Ifのプロパティ

IfとElse Ifの操作は、分割-結合内で条件動作を提供します。

分割-結合で選択したIfまたはElse Ifを確認および構成するには、「プロパティ」ビューを使用します。

IfとElse Ifには、以下のオプションがあります。

表4-106 分割-結合のIfとElse Ifのオプション

オプション 説明

条件

trueまたはfalseに評価されるXPath式を定義します。条件がtrueに評価されると、関連するIfまたはElse Ifブランチが実行されます。

「参照」アイコンをクリックすると、式ビルダーが起動されます。


4.22.10 パラレルのプロパティ

パラレルによって、固定数のメッセージ・リクエストを処理する静的分割-結合を作成することができます。パラレルには、1つまたは複数のスコープ・ブランチがあります。

分割-結合で選択したパラレルを確認および構成するには、「プロパティ」ビューを使用します。

4.22.11 エラーの生成のプロパティ

エラーの発生によってエラー条件が確立し、プロセスの実行が停止します。

分割-結合で選択した「エラーの生成」を確認および構成するには、「プロパティ」ビューを使用します。

「エラーの生成」タブには、次のオプションが含まれます。

表4-107 分割-結合のエラー生成のオプション

オプション 説明

フォルトの定義

WSDLに含まれていないカスタム、ローカルなフォルトを指定することができます。

フォルトのネームスペースおよび名前を指定するには、「フォルト」リンクをクリックします。

WSDLからのフォルトの選択

WSDLに指定されている既存のフォルトを選択することができます。

WSDLフォルトを選択するには、フォルトの選択リンクをクリックします。


4.22.12 Repeat Untilのプロパティ

Repeat Untilによって、分割-結合で条件がtrueに評価されるまで操作を繰り返すことができます。各ループが終了した後で、条件が評価されます。

分割-結合で選択した「Repeat Until」を確認および構成するには、「プロパティ」ビューを使用します。

「条件」タブには、以下のオプションがあります。

表4-108 分割-結合のRepeat Untilのオプション

オプション 説明

条件

trueまたはfalseに評価されるXPath式を定義します。Repeat Untilの操作は、条件がtrueに評価されるまで実行されます。

「参照」アイコンをクリックすると、式ビルダーが起動されます。


4.22.13 エラーの再生成のプロパティ

キャッチまたはCatchAllによって捕捉されたエラーを再発生させるには、エラー・ハンドラ内に「エラーを再発生させる」を使用します。プロパティ・ビューには、「エラーを再発生させる」ノードの名前を変更およびそれについてコメントを入力することができます。

分割-結合で選択した「エラーを再発生させる」を確認および構成するには、「プロパティ」ビューを使用します。

4.22.14 スコープのプロパティ

スコープは、それに含まれる操作の動きに影響を与えるコンテキストを作成します。スコープ内に定義されているローカル変数およびエラー・ハンドラは、このコンテキストに制限されます。

分割-結合で選択したスコープを確認し、構成するには、「プロパティ」ビューを使用します。

関連項目

4.22.26.1項「スコープと変数」

4.22.15 Whileのプロパティ

Whileによって、分割-結合で条件がfalseに評価されるまで操作を繰り返すことができます。各ループが始まる前に、条件が評価されます。

分割-結合で選択した「While」を確認および構成するには、「プロパティ」ビューを使用します。

「条件」タブには、以下のオプションがあります。

表4-109 分割-結合のWhileのオプション

オプション 説明

条件

trueまたはfalseに評価されるXPath式を定義します。条件がtrueに評価されると、関連付けられた操作が実行されます。

「参照」アイコンをクリックすると、式ビルダーが起動されます。


4.22.16 待機のプロパティ

待機では、分割-結合フローに一時停止を挿入して、他の依存ジョブが完了するのを少しの間待機できるようにします。その後は、分割-結合の実行が継続されます。

分割-結合で選択した待機を確認および構成するには、「プロパティ」ビューを使用します。

「待機」タブには次のオプションがあります。

表4-110 分割-結合の待機のオプション

オプション 説明

期間

期間の型xsd:durationに評価されるXPath式を次の形式で定義します。

nYnMnDTnHnMnS(年、月、日、時、分、秒の数を指定し、日付と時刻はTで区切ります。)

式が正しい期間タイプに解決されるようにしてください。待機操作では式の結果は検証されません。

指定した期間に到達すると、待機により分割-結合の実行が再開されます。

「参照」アイコンをクリックすると、式ビルダーが起動されます。


4.22.17 割当てのプロパティ

割当て操作によって、変数の初期化や更新などのデータ操作を実行することができます。 割当てノードでは、割り当て、コピー、削除、投入、Javaコールアウト、記録、および置換を行うことができます。

分割-結合で選択した割当てを確認および構成するには、「プロパティ」ビューを使用します。

4.22.17.1 割当て操作のプロパティ

「割当て」タブには、以下のオプションがあります。

表4-111 分割-結合の割当て操作のオプション

オプション 説明

変数に割り当てるデータを作成する際に使用するXQuery式です。

式をクリックすると、XQueryエディタが起動します。

Oracle Service BusがインラインXQueryの変数をバインドするとき、型がxs:stringであると仮定します。このため、xs:stringと互換性のない定数の操作の場合に、解析エラーが発生する可能性があります。型の互換性を保証するためには明示的なXQueryキャストを使用します。たとえば、次のインラインXQueryは失敗します。$itemsTotalは型xs:doubleですが、xs:stringとしてバインドされ、10000でのテストで互換性がありません。

if ($itemsTotal < 10000) then . . .

このインラインXQueryが機能するようにするには、$itemsTotalxs:doubleに明示的にキャストします。

if (($itemsTotal cast as xs:double) < 10000) then . . .

また、Stringの結果または変数への割当てアクションを作成するとき、式がString値を返すようにしてください。非String値をStringの結果またはStringのグローバル変数に割り当てると、WS-BPEL仕様で定められているようにMismatchedAssignmentFailure例外は発生しません。

変数

XQuery式の結果が割り当てられる変数です。

定義済みの変数、カウンタ変数、およびSOAPフォルト変数(エラー・ハンドラ用)のみが使用できます。

QoS

トランザクション・サポートを制御するサービス品質オプションです。次のいずれかを選択します。

  • 「ベスト・エフォート」 – 操作は既存のトランザクションのコンテキストで実行しません。

  • 「必ず1回」 – 操作は既存のトランザクションのコンテキストで実行します。


分割-結合におけるOracle Service Busの割当て機能は、XPath/XQuery式を単純型の変数にすることで解決するWS-BPEL仕様に準拠しています。XPath/XQuery式を分割-結合にある変数にバインドするためのサポート対象の単純な型は、String、Boolean、およびFloatです。割当て操作は、型の値を定義された変数型に変換します。

例:

  • Stringとして指定されたレスポンス変数に<foo><bar>4</bar></foo>を割り当てる場合、Oracle Service Busは子要素のコピーと値を使用して<result>にStringとして<bar>4</bar>を返します。

  • <foo><bar>4</bar></foo>をString変数(myStrなど)に マップして、$myStrを$response.resultに割り当てると、Oracle Service Busは<result>4</result>を返します。これは、$response.resultのString変数に割り当てる前にまず$myStrの値を変換するためです。

4.22.18 コピーのプロパティ

コピー操作を使用すると、Xpath式で指定された情報を、ソース・ドキュメントから、対象のドキュメントにコピーします。

「割当て」にコピー操作を構成するには、「プロパティ」ビューを使用します。以下のガイダンスを使用して、「Select From」および「Select To」を構成してください。

「コピー」タブには、以下のオプションがあります。

表4-112 分割-結合のコピーのオプション

オプション 説明

ソース要素の選択

値をソースから宛先にコピーするときに使用する要素名(ソースまたは宛先)を、決定することができます。

このオプションを選択しない場合、コピーした値を保持するために宛先に既存の要素名が使用されます。

このオプションを選択すると、コピーした値を保持するために宛先でソース要素名が使用されます。

たとえば、ソースにある<zipCode>80303</zipCode>から郵便番号の値をコピーしている場合、「ソース要素の選択」を選択すると、宛先に<zipCode>要素を使用します。このオプションを選択しないと、郵便番号の値が<pinCode>80303</pinCode>などの既存の対象要素にコピーされます。

タイプの選択

目的のタイプ(変数、式、リテラル、またはXMLフラグメント)を選択できるようにします。リテラルおよびXMLフラグメントは、「Fromの選択」メニューでのみ使用できます。

タイプの選択 - 変数

変数のXPathを選択します。変数で単純なノードの選択が必要な場合は、このオプションを使用します。

変数ツリーを展開してノードを選択する場合、Xpath式が自動的に生成されます。

タイプの選択 - 式

変数からノードを選択するには、Xpath式を作成します。変数からノードを選択するために、さらに複雑なXpath(述部を持つ場合がある)を必要とする場合、このオプションを使用します。

XPath式ビルダーを使用するには、「式」リンクをクリックします。

注意: 入力したXpath式は、1つのXMLノードまたは要素にのみコピーする必要があります。そうしなければ、実行時エラーが発生します。

タイプの選択 - リテラル(Select Fromのみ)

ユーザーによって入力されるリテラル文字列

文字列を入力するには、「リテラル形式」リンクをクリックします。

タイプの選択 - XMLフラグメント(Select Fromのみ)

ユーザーによって入力されるXMLフラグメントです。

フラグメントを入力するには、XMLフラグメント・リンクをクリックします。


4.22.19 削除のプロパティ

削除操作は、XPath式によって指定された一連のノードを削除します。

「プロパティ」ビューを使用して「割当て」で削除操作を構成します。


注意:

プロキシ・サービスのメッセージ・フローの削除操作と異なり、分割-結合の削除操作は直接変数を削除することは許可されていません。

「削除」タブには、以下のオプションがあります。

表4-113 分割-結合の削除のオプション

オプション 説明

XPath

削除するノードを選択するためのXPath式です。

式エディタを起動するには、「XPath」リンクをクリックします。

in変数

この変数に対してXPath式を実行し、削除するノードを選択します。

QoS

トランザクション・サポートを制御するサービス品質オプションです。次のいずれかを選択します。

  • 「ベスト・エフォート」 – 操作は既存のトランザクションのコンテキストで実行しません。

  • 「必ず1回」 – 操作は既存のトランザクションのコンテキストで実行します。


4.22.20 挿入のプロパティ

挿入操作は、XPath式で選択されたノードを基準に指定された位置に、XQuery式の結果を挿入します。

「割当て」に挿入操作を構成するには、「プロパティ」ビューを使用します。

「挿入」タブには、以下のオプションがあります。

表4-114 分割-結合の挿入のオプション

オプション 説明

XQuery 式を使用して、変数で指定した場所に挿入されるデータを作成します。

式エディタを起動するには、「式」リンクをクリックします。

場所

XPath式に対して実行される挿入操作を制御するために使用される場所。次のオプションがあります。

  • 「の前に」: Xpath式の結果で指定された要素の直前の要素に挿入します。

  • 「の後ろに」: Xpath式の結果で指定された要素の直後の要素に挿入します。

  • 「の最初の子として」: XPath式の結果で指定された要素の最初の子要素に挿入します。

  • 「の最後の子として」: XPath式の結果で指定された要素に属する最後の子要素に挿入します。

XPath

選択するノードを決定するためのXPathです。

式エディタを起動するには、「XPath」リンクをクリックします。

変数

XPathによって評価される変数です。

QoS

トランザクション・サポートを制御するサービス品質オプションです。次のいずれかを選択します。

  • 「ベスト・エフォート」 – 操作は既存のトランザクションのコンテキストで実行しません。

  • 「必ず1回」 – 操作は既存のトランザクションのコンテキストで実行します。


4.22.21 Javaコールアウトのプロパティ

Javaコールアウト操作は、検証、トランスフォーメーション、およびロギングなどのJavaで処理するカスタム・アクションのための分割-結合から静的Javaメソッドを呼び出すことができます。

「割当て」にJavaコールアウト操作を構成するには、「プロパティ」ビューを使用します。

「Javaコールアウト」タブには、以下のオプションがあります。

表4-115 分割-結合のJavaコールアウトのオプション

オプション 説明

メソッド

JavaクラスをOracle Service BusプロジェクトにあるJARファイルにパッケージ化できます。「参照」をクリックして、最初にJARを選択し、呼出しメソッドを選択します。

Javaコールアウト・メソッドについて、以下のガイドラインに従います。

  • メソッドは静的でなければなりません。

    入力パラメータに対して次のJava型のみがサポートされます。

  • boolean、byte、char、double、float、int、long、shortおよびこれらのタイプの配列

  • java.lang.「Boolean 」>「 Byte 」>「 Character 」>「 Double 」>「 Float 」>「 Integer 」>「 Long 」>「 Short 」>「 String」およびこれらのタイプの配列

  • java.math.「BigInteger 」>「 BigDecimal」およびこれらのタイプの配列

  • org.apache.xmlbeans.XmlObjectおよびこれらのタイプの配列

メソッドの戻り値に対して次のJava型のみがサポートされます。

  • 対応する配列を除く、入力パラメータに対してサポートされるすべての型

  • void

XQuery式は、データをstatic Javaメソッドの入力パラメータにマップするために使用されます。式エディタを起動するには「式」リンクをクリックします。

結果値

Javaメソッドの結果値を持つ変数を選択します。

サービス・アカウント

Javaコールアウトを実行する場合、適切なサブジェクトをスレッドに配置するためにサービス・アカウントを使用できます。

サービス・アカウントを選択するには、「参照」をクリックします。

QoS

トランザクション・サポートを制御するサービス品質オプションです。次のいずれかを選択します。

  • 「ベスト・エフォート」 – 操作は既存のトランザクションのコンテキストで実行しません。

  • 「必ず1回」 – 操作は既存のトランザクションのコンテキストで実行します。


Oracle Service Busでは、次のJavaコールアウトのエラーが提供されています。

  • 2031350 – Javaへの変換時に1つの要素のみを受信する予定でしたが、複数の要素が受信されました。

  • 2031351 – Javaに変換するときにXmlObjectでなく単純型が見つかりました。

  • 2031352 –単純型に対応するJava型への変換エラー。

  • 2031353 – Javaメソッドを呼び出す場合に、例外が発生しました。

  • 2031354 –セキュリティ・コンテキストの設定エラー。

4.22.22 ログのプロパティ

ログ操作により、サーバー・ログ・ファイルに分割-結合データを特定の重大度で記録できます。管理者は、記録したデータの重大度に基づいて適切なアクションを行うために、ログ情報を使用できます。

「割当て」にログ操作を構成するには、「プロパティ」ビューを使用します。

「ログ」タブには、以下のオプションがあります。

表4-116 分割-結合のログのオプション

オプション 説明

XQuery式は、ログされるデータを選択するために使用されます。

式エディタを起動するには、「式」リンクをクリックします。

注釈

必要に応じて、ログに関する注意を指定します。アノテーションは、式によって選択されたデータと共にログに記録されます。

重大度

ログに対して以下のいずれかの重大度レベルを選択します。

  • デバッグ

  • 情報

  • 警告

  • エラー


4.22.23 置換のプロパティ

置換操作は、XPath式で指定されたノードまたはノードのコンテンツを置き換えることができます。

「割当て」に置換操作を構成するには、「プロパティ」ビューを使用します。

「置換」タブには、以下のオプションがあります。

表4-117 分割-結合の置換のオプション

オプション 説明

XPath

置換する(変数内の)データの指定に使用するXPath式です。

式エディタを起動するには、「XPath」リンクをクリックします。

変数

置換されるデータを含む変数。

名前付き変数内でXPathによって指定されたデータを置換するデータの作成に使用するXQuery式です。

式エディタを起動するには、「式」リンクをクリックします。

ノード全体を置換

式によって選択されたノードをそのすべてのコンテンツとともに置き換えるように指定します。

ノードのコンテンツを置換

ノードが置換されないことを指定します。置換されるのはコンテンツのみです。

QoS

トランザクション・サポートを制御するサービス品質オプションです。次のいずれかを選択します。

  • 「ベスト・エフォート」 – 操作は既存のトランザクションのコンテキストで実行しません。

  • 「必ず1回」 – 操作は既存のトランザクションのコンテキストで実行します。


4.22.24 受信のプロパティ

割-結合で選択した受信を確認および構成するには、「プロパティ」ビューを使用します。

「操作」タブには、以下のオプションがあります。

表4-118 分割-結合の受信のオプション - 「操作」タブ

オプション 説明

操作

受信によって呼び出される操作です。

WSDLブラウザからの操作を選択するために参照します。


「変数」タブには、以下のオプションがあります。

表4-119 分割-結合の受信のオプション - 「変数」タブ

オプション 説明

メッセージ変数

操作の出力メッセージ・タイプとタイプが一致するメッセージ変数のリストです。

新しいメッセージ変数を定義するには、新しい変数の作成を選択します。

注意: 操作の出力メッセージ・タイプとタイプが一致するメッセージ・タイプ変数が存在しない場合は、必要なタイプを持つメッセージ・タイプ変数を定義する必要があります

メッセージ・タイプ・ネームスペース

操作の出力メッセージ・タイプのネームスペースです。

メッセージ・タイプ

操作の出力メッセージ・タイプです。


4.22.25 カウンタ変数ダイアログ

このダイアログは、カウンタ変数を作成するために使用します。

表4-120 分割-結合のカウンタ変数のオプション

オプション 説明

カウンタ変数名

カウンタ変数の名前です。


4.22.26 変数の作成/編集ダイアログ

このダイアログは、分割-結合で変数を表示したり構成したりするために使用します。

4.22.26.1 スコープと変数

変数は定義されるスコープ内やそのスコープ内にネストされたすべてのスコープに表示できますが、外部のスコープに宣言される変数と同じ名前の変数が内部のスコープに宣言される場合、外部のスコープの変数が非表示になります。たとえば、外部のスコープ(So)にmyVarという変数を定義した後、外部のスコープにある内部のスコープ(Si)にもmyVar変数を定義する場合、内部のスコープ(Si)に定義したmyVarにのみアクセスできます。このmyVarにより、スコープSo.で定義されたmyVarがオーバーライドされます。

表4-121 分割-結合の変数のオプション

オプション 説明

名前

スコープ内でユニークな変数の名前を入力します。

変数の型の選択

次の変数の型の中から1つを選択します。

  • 組込みタイプ

  • スキーマ・タイプ

  • メッセージ・タイプ

変数の型の選択 - 組込みタイプ

選択されている場合、組込みタイプの変数のみが表示されます。

変数の型の選択 - スキーマ・タイプ

選択すると、現在のOracle Service Bus構成にあるすべてのスキーマ・タイプが表示されます。

この分割-結合に該当するスキーマ・タイプ/要素のみを表示が選択されると、現在の分割-結合に直接適用できるスキーマ・タイプのみが表示されます。これはデフォルトでオンになっています。

変数の型の選択 - メッセージ・タイプ

選択すると、メッセージ・タイプのみが表示されます。

この分割-結合に該当するスキーマ・タイプ/要素のみを表示が選択されると、現在の分割-結合に直接適用できるメッセージ・タイプのみが表示されます。これはデフォルトでオンになっています。

種類

変数の型です。

ネームスペース

変数型のネームスペースです。


4.22.27 メッセージ変数の作成ダイアログ

このダイアログを使用して新しいメッセージ変数を作成します。

表4-122 分割-結合の新しいメッセージ変数のオプション

オプション 説明

名前

変数のユニークな名前を入力します。

種類

WSDLメッセージ、XSD要素、またはXSD型(単純、複合、組込み)のいずれかになります。

ネームスペース

変数型のネームスペースです。


4.22.28 サービス・ブラウザ

ツリーでビジネス・サービス、プロキシ・サービス、または分割-結合から操作を選択するには、このダイアログを使用します。

4.22.29 SOAPフォルト変数ダイアログ

このダイアログを使用して、SOAPフォルト変数を作成します。

表4-123 分割-結合のSOAPフォルト変数のオプション

オプション 説明

SOAPフォルト変数名

SOAPフォルト変数の名前を入力します。


4.22.30 WSDLブラウザ

このダイアログを使用して、ツリーを参照し、表示されたツリーのWSDLから操作を選択します。

4.22.31 分割-結合ウィザード - 新しい分割-結合

このページでは、新しい分割-結合の場所と名前を指定します。

表4-124 新しい分割-結合のオプション

オプション 説明

親フォルダを入力または選択してください

この分割-結合を格納しているフォルダの名前を入力するか、リストからフォルダを選択します。

ファイル名

この分割-結合を定義しているファイルの名前を入力します。


4.22.32 分割-結合ウィザード - 操作の指定

このページを使用して、新しい分割-結合の操作を選択します。

表4-125 新しい分割-結合のオプション - 操作の選択

オプション 説明

操作の選択

使用可能な操作をツリーから選択します。

消費

このボタンをクリックすると、現在のOracle Service Bus構成の外部からWSDLをインポートし、インポートしたWSDLを使用して操作を選択できます。