ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.6.2)
B56238-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

H 正規化されたメッセージのプロパティ

この付録では、正規化されたメッセージのプロパティをメッセージ・ヘッダーを介して伝播できるように設定する方法について説明します。

項目は次のとおりです。

H.1 正規化されたメッセージの概要

ヘッダーの操作と伝播は、重要なビジネス統合メッセージング要件です。Oracle BPEL Process Manager、Oracle Mediator、Oracle JCAアダプタおよびOracle B2Bは、顧客の統合ニーズを解決する上でヘッダー・サポートに大きく依存しています。たとえば、メッセージ・ヘッダーを介してファイル名を伝播することで、そのファイル名をソース・ディレクトリからターゲット・ディレクトリに保存できます。Oracle BPEL Process ManagerとOracle Mediatorでは、様々なユーザー・インタフェース・サポート・レベルでヘッダーにアクセスし、操作して設定できます。

図H-1に詳細を示します。

図H-1 正規化されたメッセージ・ヘッダー・プロパティの「プロパティ」タブ

図H-1の説明が続きます
「図H-1 正規化されたメッセージ・ヘッダー・プロパティの「プロパティ」タブ」の説明

正規化されたメッセージは、プロパティとペイロードという2つの部分のみを持つように簡素化されています。

通常、プロパティはスカラー型の名前/値ペアです。既存の複雑なヘッダーがプロパティに収まるように、プロパティはスカラー型にフラット化されます。

複雑なプロパティは事前に決定されているため、設計時にヘッダーを操作する際のユーザー操作は合理化されています。メディエータ・エディタまたはOracle BPELデザイナでは、なんらかの予約済キーワードを使用してヘッダーを操作できます。

ただし、この方法はユーザー入力に基づいて動的に生成されるプロパティに対処していません。選択内容に基づいてヘッダーが定義されます。これらの定義は事前に決定されていないため、事前決定済のプロパティ定義のリストでは考慮できません。動的プロパティのヘッダー操作は、定義するまで設計できません。この制限に対処するには、必要なサービス(コンポジット・エントリ・ポイント)と参照をすべて生成しておく必要があります。この制限は、動的プロパティを生成する必要のあるサービスに適用されます。動的プロパティが生成された後、コンポジットごとに格納される必要があります。その後にのみ、メディエータ・エディタまたはOracle BPELデザイナで動的プロパティを操作できます。

正規化されたメッセージのプロパティの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』および『Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド』を参照してください。

H.2 Oracle BPEL Process Managerのプロパティ

表H-1に、Oracle BPEL Process Managerの正規化メッセージに対して事前に決定されているすべてのプロパティを示します。

表H-1 Oracle BPEL Process Managerのプロパティ

プロパティ名 伝播可能(はい/いいえ) 方向(インバウンド/アウトバウンド) データ型 有効値の範囲 説明

bpel.metadata

はい

両方

文字列

文字列、サイズ制限: 1000。

BPELインスタンスを関連付ける必要がある追加情報が含まれます。渡されたすべての情報は、cube_instance表のメタデータ列に格納されます。

bpel.priority

はい

インバウンド

整数に解釈可能な文字列

[1-10]. 1が最も優先度の高い値です。

cube_instanceの優先度列に格納されます。優先順位を付けるためにシステムで使用されます。

bpel.title

いいえ

インバウンド

文字列

文字列、サイズ制限: 100。

cube_instance表のtitle列に格納されます。

bpel.instanceIndex1

いいえ

インバウンド

文字列

文字列、サイズ制限: 100。

ci_indexes表に格納されます(cube_instanceに対する追加索引になります)。

bpel.instanceIndex2

いいえ

インバウンド

文字列

文字列、サイズ制限: 100。

ci_indexes表に格納されます(cube_instanceに対する追加索引になります)。

bpel.instanceIndex3

いいえ

インバウンド

文字列

文字列、サイズ制限: 100。

ci_indexes表に格納されます(cube_instanceに対する追加索引になります)。


H.3 Oracle Web Services Addressingのプロパティ

表H-2に、Web Services Addressing (WS-Addressing)の正規化メッセージに対して事前に決定されているすべてのプロパティを示します。

表H-2 Oracle Web Services Addressingのプロパティ

プロパティ名 伝播可能(はい/いいえ) 方向(インバウンド/アウトバウンド) データ型 有効値の範囲 説明

wsa.messageId

いいえ

両方

文字列

URI形式

このプロパティは、メッセージの識別子と、そのメッセージに対する応答の送信先であるエンドポイントをエンドポイント参照として指定します。

wsa.relatesTo

いいえ

両方

文字列

URI形式

このオプションの(繰返し)要素情報アイテムは、1つの抽象リレーションシップ・プロパティ値を(IRI, IRI)ペアの形式で提供します。この要素のコンテンツ(xs:anyURIタイプ)は、関連メッセージのメッセージIDを伝達します。

wsa.replyToAddress

いいえ

両方

文字列

URI形式

非同期で通信する2つのコンポーネント間の規約です。

wsa.replyToPortType

いいえ

両方

QName

任意のQName

この値は、サービスのコールバックのportTypeを構成するためにWebサービスに渡されます。WS-Addressingコールバックのエンドポイント参照のPortType要素に変換されます。

wsa.replyToService

いいえ

両方

QName

任意のQName

この値は、サービスのコールバックのサービスを構成するためにWebサービスに渡されます。WS-Addressingコールバックのエンドポイント参照のServiceName要素に変換されます。

wsa.action

いいえ

両方

文字列

URI形式

この必須要素(コンテンツがxs:anyURIタイプ)は、アクション・プロパティの値を伝達します。

wsa.to

いいえ

両方

文字列

URI形式

このオプション要素(コンテンツがxs:anyURIタイプ)は、宛先プロパティの値を提供します。この要素が指定されない場合、宛先プロパティの値はhttp://www.w3.org/2005/08/addressing/anonymousになります。


H.4 bpelx拡張による正規化されたメッセージのプロパティの操作

Oracle BPEL Process Managerはbpelx拡張を使用して、メッセージ交換処理で、正規化されたメッセージのプロパティを操作します。構文は、BPELプロジェクトでBPELバージョン1.1と2.0のどちらがサポートされているかによって異なります。

H.4.1 BPEL 1.1のbpelx拡張構文

例H-1は、BPEL 1.1におけるbpelx拡張構文を示しています。

例H-1 BPEL 1.1において正規化されたメッセージ・ヘッダーのbpelx拡張構文

<invoke ...>
  <bpelx:inputProperty name="NCName" expression="string" variable="NCName"
 part="NCName" query="string"/>*
  <bpelx:outputProperty name="NCName" expression="string" variable="NCName"
 part="NCName" query="string"/>*
</invoke>

<receive ...>
  <bpelx:property name="NCName" expression="string" variable="NCName"
 part="NCName" query="string"/>*
</receive>

<onMessage...>
  <bpelx:property name="NCName" expression="string" variable="NCName"
 part="NCName" query="string"/>*
</onMessage>

<reply ...>
  <bpelx:property name="NCName" expression="string" variable="NCName"
 part="NCName" query="string"/>*
</reply>  

H.4.2 BPEL 2.0のbpelx拡張構文

例H-2は、BPEL 2.0におけるbpelx拡張構文を示しています。

例H-2 BPEL 2.0において正規化されたメッセージ・ヘッダーのbpelx拡張構文

<invoke ...>
  <bpelx:fromProperties>?
    <bpelx:fromProperty name="NCName" .../>+
  </bpelx:fromProperties>
  <bpelx:toProperties>?
    <bpelx:toProperty name="NCName" .../>+
  </bpelx:toProperties>
</invoke>

<receive ...>
  <bpelx:fromProperties>?
    <bpelx:fromProperty name="NCName" .../>+
  </bpelx:toProperties>
</receive>

<onEvent ...>
  <bpelx:fromProperties>?
    <bpelx:fromProperty name="NCName" .../>+
  </bpelx:fromProperties>
</onEvent>

<reply...>
  <bpelx:toProperties>?
    <bpelx:toProperty name="NCName" .../>+
  </bpelx:toProperties>
</reply>

<reply ...>
  <bpelx:toProperties>
    <bpelx:toProperty name="NCName" .../>
  </bpelx:toProperties>
</reply>

次の点に注意してください。

  • toPropertyfrom-specです。from-specから、指定した名前のプロパティに値をコピーします。

  • fromPropertyto-specです。プロパティからto-specに値をコピーします。