この章は、Oracle User Messaging Serviceアダプタの使用方法について説明します。このアダプタは、ユーザーとアプリケーション間の通信を可能にするOracle Fusion MiddlewareコンポーネントのOracle User Message Service(UMS)をラップするJCAアダプタを提供します。また、この章では、UMSアダプタの概念、機能、構成およびエラー処理に関する情報を提供します。
この章では、次の項目について説明します。
User Messaging Serviceは、ユーザーとアプリケーション間の通信を可能にするOracle Fusion Middlewareコンポーネントです。内容は次のとおりです。
UMSサーバー: UMSサーバーは、アプリケーションとユーザー間のメッセージ・フローを統合します。サーバーは、アウトバウンド・メッセージをクライアント・アプリケーションから適切なドライバにルーティングし、インバウンド・メッセージを適切なクライアント・アプリケーションにルーティングします。また、サーバーは、すでに送信されたメッセージのリポジトリを永続ストアに保持し、すでに送信されたメッセージに配信ステータス情報を関係付けます。
UMSドライバ: UMSドライバは、UMSをメッセージング・ゲートウェイに接続し、UMSでサポートされている様々なプロトコルに対してコンテンツを適合させます。これらのドライバは、特定のインストールで使用できるメッセージング・チャネルに従って、相互に独立してデプロイまたはアンデプロイできます。
UMSクライアント・アプリケーション: UMSクライアント・アプリケーションは、メッセージの送受信に関するビジネス・ロジックを実装します。UMSクライアント・アプリケーションは、BPELワークフローの1手順としてメッセージを送信するSOAアプリケーション、またはWebインタフェースからメッセージを送信できるWebCenterスペース・アプリケーションの場合があります。
UMSでは、電子メール、SMS、インスタント・メッセージ、ボイスなどの様々なメッセージング・チャネルがサポートされます。UMSでは、Oracle BPELまたはMediator製品と外部間のメッセージング・プロキシが提供されます。User Messaging Serviceでは、インバウンド・メッセージングとアウトバウンド・メッセージングの2通りのメッセージングが提供され、配信ステータスの配信などの強固なメッセージ配信と、エンタープライズ・メッセージを使用したメッセージの再送信が可能です。また、UMSでは、フェイルオーバー・アドレスをサポートできます。つまり、UMSでは、ユーザーとアプリケーション間の通信に対して、スケーラブルで可用性の高いソリューションが提供されます。
User Messaging Serviceの詳細は、『Oracle Fusion Middleware Oracle SOA Suite開発者ガイド』を参照してください。
User Messaging Serviceアダプタには、Java Enterprise Edition Connector Architecture(JCA)バージョン1.5が実装されています。UMSアダプタは、実質的にUser Messaging Serviceをラップしているため、電子メールを含むメッセージング・チャネルを超えた通信が可能です。
UMSアダプタは、アダプタのアーキテクチャ全体に含まれます。J2EEアプリケーション、MediatorおよびBPELの各プロセスはOracle WebLogic Serverと通信します。次の図を参照してください。
電子メール・メッセージング・チャネルのサポート。
メッセージ・フィルタの使用。UMSアダプタでは次の2つの方法で電子メール・メッセージをフィルタできます。
アダプタ構成ウィザードのメッセージ・フィルタ画面を使用したメッセージ・フィルタの設定。これには、メッセージ・フィルタ、ブラックリスト・フィルタおよびホワイトリスト・フィルタが含まれます。メッセージ・フィルタでは、電子メール宛先アドレス、送信元アドレス、CCアドレス、件名およびメール・ヘッダーを基準にして受信メッセージをフィルタする機能が提供されます。同様に、このフィルタリングを使用してメールを無視することもできます。BCCアドレスを基準にして使用できるフィルタはないことに注意してください。
件名および本文を含む電子メール・メッセージの送信。
電子メール・メッセージの本文の変換サポート。
アウトバウンドSMTPサーバーのSSL/TLSセキュリティ(Java Messaging Serviceの使用が必要です)。
電子メール・メッセージング・チャネルのサポート。
件名、本文および1つ以上の添付ファイルを含むメッセージのほか、インターネット・メールおよびMIMEヘッダーの受信。
ポーリング/リスナー・インタフェース。アダプタでは、作成した様々なスケジュール上の受信電子メールのメールボックスがポーリング(順次とパラレルのどちらも指定可能)されます。
電子メール・メッセージの本文の変換サポート。
インバウンド・メッセージでグローバル・トランザクションに参加するための最終リソース・コミット(LRC)最適化を使用したXA有効トランザクション。アウトバウンド・メッセージ・トランザクションでは、UMSアダプタによってXAトランザクションがサポートされないことに注意してください。
SSLを使用したIMAP/POP3サーバー(UMSサーバーの使用が必要)。
注意: UMSアダプタを使用したMS-2010メール・サーバーの使用時は、キーワード・ヘッダーを含むヘッダーの設定および取得はできません。 |
多くの電子メールのユース・ケースでは、メッセージ・ペイロードが平文に指定されているため、スキーマを指定する必要がなく、そのままで受信することが必要な場合もあります。このケースでは、「メッセージ」画面で「文字列タイプのメッセージ」
チェック・ボックスを選択できます。
たとえば、バイナリ・データの画像を送信する場合は、「不透明なメッセージ(Base64Binary)」
オプションを指定できます。このオプションを選択すると、コンテンツは送信前にbase64でエンコードされます。
メッセージの変換には、XSDファイルが必要です。新しいスキーマを定義するか、あるいは既存のデータ型の定義(DTD)またはCOBOLコピーブックを変換する場合は、「ネイティブ・フォーマットのスキーマの定義」
を選択してXSDファイルを指定する必要があります。
「ネイティブ・フォーマットのスキーマの定義」
を選択すると、ネイティブ・フォーマット・ビルダーウィザードが起動します。このウィザードは、カンマ区切り値(CSV)、固定長、DTDおよびCOBOLコピーブックなどのファイル形式を使用したネイティブ・スキーマ・ファイルの作成を支援します。
ネイティブ・スキーマ・ファイルの作成後、「スキーマ・ファイルのURL」および「スキーマ要素」フィールドが入力された「メッセージ」ページが表示されます。詳細は、第6章「ネイティブ・フォーマット・ビルダー・ウィザードを使用したネイティブ・スキーマ・ファイルの作成」を参照してください。
他のアダプタとは異なり、UMSアダプタでは、使用するメッセージの表示に、事前定義済のメッセージ・スキーマを使用します。
UMSアダプタで使用するメッセージ・スキーマの例は次のとおりです。
<?xml version= "1.0" encoding= "UTF-8" ?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://platform.integration.oracle/blocks/adapter/fw/
metadata/Inbound_UMS" targetNamespace="http://platform.integration.oracle/blocks/adapter/
fw/metadata/Inbound_UMS" xmlns:imp1="http://xmlns.oracle.com/pcbpel/adapter/opaque/" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:import namespace="http://xmlns.oracle.com/pcbpel/adapter/opaque/" schemaLocation="opaque.xsd"/> <xsd:complexType name="MessageType"> <xsd:sequence> <xsd:element ref="imp1:opaqueElement"/> <xsd:element name="attachment" type="AttachmentType" minOccurs="0"
maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AttachmentType"> <xsd:attribute name="href" type="xsd:string"/> </xsd:complexType> <xsd:complexType name="ResponseType"> <xsd:sequence> <xsd:element name="MessageId" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="message" type="MessageType"/> <xsd:element name="response" type="ResponseType"/> </xsd:schema>Status OpenFixedClosed
スキーマの定義は、UMSアダプタ構成ウィザードの「メッセージ」画面を介した変換要件とメッセージ本文のコンテンツの定義に従って行います。UMSアダプタでは、指定されたXSDがUMSアダプタで使用するメッセージ・スキーマにインポートされます。
たとえば、次のスキーマ・スニペットを参照すると、ユーザー定義スキーマのsingleString.xsd
がUMSアダプタ構成ウィザードでインポートされ、さらにUMSアダプタ構成ウィザードを介してsingleString.xsd
の下に定義されたsingleString
要素を参照します。
<?xml version= '1.0' encoding= 'UTF-8' ?> <xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/singleString" xmlns="http://xmlns.oracle.com/singleString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd" nxsd:encoding="US-ASCII" nxsd:useArrayIdentifiers="true" nxsd:stream="chars" nxsd:version="NXSD"> <xsd:complexType name="singleString"> <xsd:sequence> <xsd:element name="input" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy=";"/> </xsd:sequence> </xsd:complexType> <xsd:element name="payload" type="singleString"/> </xsd:schema>
<adapter-config name="SendEmail" adapter="UMS Adapter" wsdlLocation="SendEmail.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata"> <connection-factory location="eis/ums/UMSAdapter"/> <endpoint-interaction portType="SendEmail_ptt" operation="SendEmail"> <interaction-spec className="oracle.tip.adapter.ums.outbound.UmsInteractionSpec"> <property name="DeliveryType" value="Email"/> <property name="From" value="scott.tiger@example.com"/> <property name="To" value="scott.parker@example.com"/> <property name="ReplyTo" value=" scott.tiger@example.com"/> <property name="Subject" value="Test Email"/> </interaction-spec> </endpoint-interaction> </adapter-config>
注意: UMSアダプタでは、メッセージ・メタデータにメッセージ・ファイルそのものが添付されます。 |
「Javaコールアウト」画面では、電子メール・メッセージがUMSアダプタで処理される前に起動可能なカスタム・ロジックを使用してカスタムJavaクラスを指定できます。
カスタムJavaコールアウトのユース・ケースとして、送信者のアドレスをLDAP内のアドレス、またはステージング領域に存在し以前に記録されていたアドレスに一致させる例があります。このユース・ケースを作成するには、インタフェースのoracle.tip.pc.services.translation.util.ICustomCallout
を実装する必要があります。
このインタフェースでは、boolean
の戻り値で単一のメソッド実行が定義されます。戻り値に応じて、メッセージは処理されるか、または拒否されます。
public Inteface CustomCallout{ public boolean execute (Message message) throws exception; }
ここでのMessage
は、UMSセッション記述プロトコル(SDP)というJava APIのMessage
クラスを示します。これは、UMSサーバーで指定され、適切に定義されたJava APIで、jdeveloper\communications\modules\oracle.sdp.messaging_11.1.1\sdpmessaging.jar
で検索できます。戻されるブール値によって、メッセージを受け入れて処理するか、またはメッセージを拒否するかが指定されます。
package oracle.adapter.custom; import java.io.File; import oracle.sdp.messaging.Message; import oracle.tip.pc.services.translation.util.ICustomCallout; public class UMSAdapter_CustomCall implements ICustomCallout{ @Override public boolean execute(Message message) throws exception { String emailFromAddress = message.getSenders()[0] .getValue(); String fileName = "/tmp/OracleStore/staging/". concat(emailFromAddress).concat(".usr"); File file = new File(fileName); if(file.exists()) { return true; } return false; } }
もう1つのユース・ケースでは、サンプル・コードに示すように、scott.tiger@example.comという電子メールIDを持つユーザーがインターネット・ストアのWebサイトを使用した登録をしています。このユーザーは、ステージング領域の下にscott.tiger@example.comというファイル名を使用して記録されます。
送信されてきた電子メールに返信するには、そのユーザーの電子メールIDに直接電子メールが送信されます。ユーザーが電子メールに返信すると、UMSアダプタがその電子メールを受信します。その後は、Javaコールアウトを使用して、ユーザーのWebサイトでの登録をチェックし、確認できます。
カスタム・コールアウト・ファシリティを使用するには、次を実行する必要があります。
UMSアダプタ構成ウィザードの「Javaコールアウト」画面でクラス名を指定します。
そのクラスおよび他の必要なカスタム・クラスをjarファイルにバンドルします。
SCA-INF/lib
ディレクトリにあるコンポジット・アプリケーションの下にそのjarファイルを置きます。
カスタムJavaクラスも、WebLogic Serverのドメイン・ディレクトリに配置することなく、次の2つの方法のいずれかによって、コンポジットと一緒にパッケージし、デプロイできます。
コンパイル済のJavaクラス(.classファイル)は、コンポジット・プロジェクト・フォルダの\SCA-INF\classesの下に直接配置し、デプロイできます。
コンパイル済のJavaクラスはJARとして作成することも可能で、コンポジット・プロジェクト・フォルダの下に配置した上で、\SCA-INF\libをデプロイします。
他のテクノロジ・アダプタと同様に、UMSアダプタでは、悪質なメッセージを拒否するために、インバウンド側でアダプタによるデフォルトの拒否処理メカニズムを使用します。
たとえば、変換関連のエラーが生じると、標準処理メカニズムを使用したメッセージ拒否が発生します。これにより、ランタイム例外を処理するためのポリシーの定義でエラーが分析可能なことを確認できます。例外を処理するためのポリシーの詳細は、第2.21項「エラー処理」を参照してください。
UMSアダプタでは、インバウンド・シナリオを使用したXAトランザクションをデフォルトで使用します。この場合は、アダプタのデプロイメント・ディスクリプタの下にあるLocal Transaction
に設定されたトランザクション・サポートと一緒に、XATransaction
プロパティがtrue
に設定された接続ファクトリ・インスタンスが構成されます。この構成は、UMSアダプタがLRC(最終リソース・コミット)最適化を標準XAに提供する場合に必要です。LRCは、XA以外のリソースがグローバル・トランザクションに参加できるようにするパフォーマンス拡張オプションです。
デフォルトのJNDIインスタンスが使用可能で、これはデフォルトでXAを使用するように構成されています。このデフォルトのJNDIインスタンス名はeis/ums/UMSAdapterInbound
です。
アウトバウンド・シナリオでは、デフォルトのJNDIインスタンスのeis/ums/UMSAdapterOutbound
が指定されます。このJNDIインスタンスでは、トランザクション・サポートがNoTransaction
に設定されます。
独自のJNDIインスタンスを定義して使用することもできますが、前述の説明に注意しておく必要があります。
UMSアダプタでは、悪質なメッセージを拒否するために、アダプタのインバウンド側でデフォルトの拒否処理メカニズムを使用します。たとえば、変換関連のエラーが生じると、メッセージ拒否が発生します。フォルト・ポリシーおよびアダプタの詳細は、このガイドの第2.21.1.1.1項「フォルト・ポリシーの作成」を参照してください。
再試行可能なエラー状態で、再試行関連のエンドポイント・プロパティを指定している場合は、アダプタにより、メッセージの拒否前に構成されていた再試行数でインバウンド・メッセージを再発行します。次に、前述のJNDIおよびXAの説明に従って、XAの下にあるロールバックにトランザクションが設定されます。
再試行不可能なインバウンド・エラー状態では、メッセージは、XAの使用時にロールバックに設定されたトランザクションでただちに拒否されます。
UMSアダプタは、接続エラーなどの一時(リカバリ可能)エラー状態に対して例外をスローします。再試行可能なエラーでは、アダプタ・フレームワークでサポートされている再試行ポリシーを使用できます。これを実行するには、必要な再試行カウントに対してバインディング・プロパティのjca.retry.count
を設定できます。さらに、他のアダプタにおいて、プロパティを設定していない場合は、フォルト・ポリシーに従って再試行が実行されます。
アウトバウンド・トランザクションには、フォルト・ポリシーを使用して再試行不可能な接続エラーを定義できます。再接続の試行の最大数は、fault-policy.xml
を使用して定義できます。
アダプタでは、アダプタ構成ウィザードを使用して、設計時の作業で取得したメタデータに基づき、データをネイティブ表現と標準XML形式間で変換します。変換の実行によりスローされる例外が発生すると、変換エラーがスローされ、さらに対応するバインディング・フォルトもスローされます。
表11-1「UMSアダプタのアウトバウンド・エンドポイント・プロパティ」に示すように、アウトバウンド再試行可能エラーに関連するエンドポイント・プロパティを設定できます。
表11-1 UMSアダプタのアウトバウンド・エンドポイント・プロパティ
プロパティ | 説明 |
---|---|
|
再試行可能エラー状態をスローして起動中のサービス・エンジンに戻す前の再試行の最大数を示します。 |
jca.retry.interval |
再試行の時間間隔(秒単位)を示します。 |
jca.retry.backoff |
再試行間隔の増分ファクタ(正の整数)を示します。 |
jca.retry.maxInterval |
再試行の間隔の最大値(値が1より大きい場合の上限)を示します。 |
|
再試行の合計最大期間を示します。このパラメータに指定した値を超えて、再試行が発生することはありません。 |
UMSアダプタでは、UMSが提供する既存のインフラストラクチャを使用して、失敗した送信の例外を再試行します。現行のUMSサーバーでは、Oracle Enterprise Managerからの通知の失敗の確認に加えて、メッセージの再送信もサポートしています。
\
アウトバウンドを使用する場合は、使用するUMSアダプタ構成ウィザードのフローと標準のUMSアダプタ構成ウィザードを使用した場合のフローは同じですが、Enterprise Managerコンソールを使用した実行が必要なUMSサーバー側に追加の構成タスクが発生します。
電子メール・ドライバ側のOutgoingMailServerTLSプロパティはtrue
(デフォルトはfalse)に設定する必要があります。SSL/TLSをtrueに設定し、さらに、Enterprise Manager内のSSLまたはTLSの設定に基づいて送信ポートを構成する必要があります。これにより、TLS暗号化でSMTPサーバーと通信できるようになります。
標準のインバウンドUMSアダプタ構成ウィザード・フローを使用し、追加構成を使用することで、デプロイメントのクラスタ化環境をターゲットにできます。UMS APIは、クラスタ環境内でUMSサーバーとそのクライアントがデプロイされている環境をサポートします。また、UMSアダプタは、アクティブ/アクティブ設定での高可用性もサポートしています。
クラスタ化環境で適切に動作するUMSアダプタの構成の詳細は次のとおりです。
同じコンポジット・アプリケーションのすべてのUMSアダプタのアクティブ化において、同じ独自のApplicationName
構成パラメータが使用されます。UMSアダプタでは、特定のエンドポイントがリッスンされている受信アドレスからアプリケーション名パラメータを合成します。
この合成により、クラスタ内の特定のコンポジットのすべてのアクティブ化において、アクセス・ポイントやメッセージ・フィルタなど、すべての構成およびアーティファクトの共有が可能になります。
ApplicationInstanceName
構成パラメータはUMS API実装を使用して自動合成され、UMSアダプタはその合成に依存します。
さらに、UMSアダプタのAPI実装では、クラスタ環境内で2つのアプリケーションが同じメッセージを受信しないことが保証されます。
UMSアダプタは、クラスタ化環境でアクティブ/パッシブであるインバウンド・サービスのアクティブ・フェイルオーバーもサポートします。このアクティブ・フェイルオーバーは、JCAサービスのバインディング・プロパティ(composite.xml
)シングルトンをtrue
に設定することで、UMSアダプタ・サポートにおいて有効化できます。
リスニングおよびポーリングは、クラスタ化環境でもUMSアダプタを使用して非クラスタ化環境と同じ方法で動作します。
追加構成を指定するために使用可能なUMSアダプタと関連付けられたプロパティがいくつか存在します。これらの一部は、UMSアダプタ構成のアダプタ・ウィザードを使用する際にすでに設定されています。適用可能なすべてのインターネット・メール・ヘッダーおよびMIMEヘッダーは、正規化されたメッセージ・プロパティ/ヘッダーを使用して構成できます。
次の表には、UMSアダプタに適用可能なアクティブ化仕様プロパティがリストされています。
表11-2 UMSアダプタのアクティブ化仕様プロパティ
プロパティ名 | 説明 |
---|---|
|
メッセージ・フィルタまたはその他のチェックにカスタム・ロジックを定義するJavaクラス名。このクラスは、ICustomCalloutインタフェースの具体的な実装です。 |
|
アダプタによってUMSからメッセージを受信する方法を指定します。ポーリング・モードではポーラーに設定され、リスナー・モードではリスナーに設定されます。 |
|
受信メッセージの受信元となるアドレス。電子メール配信タイプにおける1つまたは複数のカンマ区切り電子メール・アドレスです。 |
|
送信メッセージの受信および送信用に電子メール・サポートを提供します。 |
|
ポーラー・コンシューム・モードでのポーリング間隔(秒)です。 |
|
1つまたは複数のメッセージ・フィルタが指定されます。単一フィルタの場合は、フィールド・タイプおよび取得されるアクション(同意または拒否)に対して受信メッセージを適合させるため、Javaのパターン文字列で構成されます。 |
表11-3「UMSアダプタの相互作用仕様プロパティ」には、使用可能な相互作用仕様プロパティのリストが示されています。
表11-3 UMSアダプタの相互作用仕様プロパティ
プロパティ名 | 説明 |
---|---|
|
送信メッセージの受信および送信のみに対する電子メール・サポート。 |
|
送信メッセージの件名。 |
|
送信メッセージの送信者アドレス。 |
|
1つまたは複数の受信者アドレス。 |
|
返信先アドレス。 |
|
電子メール配信の1つまたは複数のCCアドレス。 |
|
電子メール配信の1つまたは複数のBccアドレス。 |
|
添付ファイルとして電子メールを送信するには |
UMSアダプタでは、適用可能なすべてのインターネット・メッセージ・ヘッダーおよびMIMEメッセージ・ヘッダー、さらにMIMEパート・ヘッダー(マルチパート構成内)が公開されます。
MIMEヘッダーは、メッセージ本文の最初の部分であるUMSアダプタのペイロードにのみ適用できます。
添付ファイルのMIMEヘッダーは、BPELプロセス内から操作可能な正規化されたメッセージ・プロパティとして、添付ファイルとともに格納されます。
表11-4「メッセージ・ヘッダー」では、インターネット・メッセージ・フォーマットで定義された適用可能なすべてのヘッダーのほか、アダプタ・ヘッダーのマッピングおよび対応関係について説明します。
表11-4 メッセージ・ヘッダー
ヘッダー・フィールド名 | 最小発生数 | 最大発生数 | マップされたアダプタのヘッダー・フィールド名 |
---|---|---|---|
|
0 |
1 |
|
|
0 |
無制限 |
|
|
0 |
無制限 |
|
|
0 |
無制限 |
|
|
0 |
1 |
|
|
0 |
無制限 |
|
|
0 |
無制限 |
|
|
0 |
無制限 |
|
|
0 |
無制限 |
|
|
1 |
無制限 |
|
|
1 |
無制限 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
1 |
|
Cc |
0 |
1 |
|
Bcc |
0 |
1 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
1 |
|
|
0 |
無制限 |
|
|
0 |
無制限 |
|
表11-5「MIMEパート・メッセージ・ヘッダー」は、適用可能なすべてのMIMEメッセージ・ヘッダーについて説明しています。
表11-5 MIMEパート・メッセージ・ヘッダー
ヘッダー・フィールド名 | マップされたアダプタのヘッダー・フィールド名 | ノート |
---|---|---|
Content-Type |
|
|
Content-Transfer-Encoding |
|
|
Content-ID |
jca.ums.part.content-id |
|
Content-Description |
|
|
Content-Disposition |
|
|
Content-Language |
|
|
Mime-Extension-field |
|
その他のMIMEヘッダー・フィールドは、文字列のContent-で開始されます。次のように2つ以上のヘッダーを追加できます。
|
UMSメッセージのXMLには、href
属性を持つ添付要素のリストを含めることができます。Attachment Managerでは、MIMEタイプ、コンテンツIDのほか、ストリーム・オブジェクト(アタッチメント・コンテンツ)などの添付ファイルと関連付けられた他のMIMEの詳細を格納します。
現在は、UMSアダプタでインバウンドとアウトバウンドの両方の添付ファイルがサポートされています。
添付要素を含むXMLメッセージの例は、次の例を参照してください。
<Receive1_ReceiveEmail_InputVariable> <part name="body" > <Email> <payload>This is a test mail.-Sagar</payload> <attachment> <Attachment href="0DF86C104BF511EoAF5977BAA7C7CFD9"/> </attachment> </Email> </part> </Receive1_ReceiveEmail_InputVariable>
インバウンド側では、UMSアダプタにより、Attachment Managerに添付ファイルを渡す前にすべてのMIMEの詳細が設定されます。
UMSアダプタでは、Fabric Attachment Managerを使用して、添付ファイルの格納および取得が行われます。
UMSメッセージ・スキーマでは、次に示すhref属性を使用して添付要素が定義されます。
<copy> <from expression="ora:readBinaryFromFile('/home/testuser
/oracle_sig_log0.gif')"/> <to variable="Invoke1_SendNotification_inputVariable" part="body" query="/ns2:message/ns2:attachment[1]"/> </copy>
UMSメッセージのXMLには、href属性を持つ添付要素のリストを含めることができます。Attachment Managerでは、MIMEタイプ、コンテンツIDのほか、ストリーム・オブジェクト(アタッチメント・コンテンツ)などの添付ファイルと関連付けられた他のMIMEの詳細を格納します。添付要素を含むXMLメッセージの例。
インバウンド側では、アダプタにより、添付ファイルをAttachment Managerに渡す前にすべてのMIMEの詳細を設定します。アウトバウンド側では、アダプタにより、添付オブジェクトと一緒に受信したすべてのMIMEの詳細を抽出し、送信SDPメッセージ通知の作成中に使用します。
Fabric Attachment Managerでは、添付ファイルをデータベースに格納した後に、キーを使用してhref属性を更新します。このキーは、後でアタッチメント・コンテンツの取得に使用されます。
UMSアダプタからBPEL/Mediatorのサービス・エンジンに渡される添付要素を含むXML構造を使用した正規化メッセージ・ペイロードのマップの例は後述で確認できます。
添付要素を含むXMLメッセージの例は次のとおりです。
<Receive1_ReceiveEmail_InputVariable> <part name="body" > <Email> <payload>This is a test mail</payload> <attachment href="0DF86C104BF511EoAF5977BAA7C7CFD9"/> </Email> </part> </Receive1_ReceiveEmail_InputVariable>
後述のスニペットでは、BPELでの添付ファイルの取得方法が示されています。
最初に、添付ファイルと関連付けられたMIME情報を取得します。
<assign name"Assign1"> <copy> <from exporession="oraReadBnaryFromFileWithMimeHeaders('/home/testuser/oracle_ sig_logo.gif','one','image/gif', ", '7bit', 'oracle_logo_gif_file', 'en/ja')"/> <to variable="invoke="1_SendNotification_InputVariable" part="body" query='/ns3:message/ns3:attachment[1]"/> </copy> <bpelx:InsertAfter> <bpelx:from variable=Invoke1_SendNotification_InputVariable" part="body" query=/ns3:message:/ns3:attachment"/> <bpelx:to variable=Invoke1_SendNotification_InputVariable" part="body" part="body" query=/ns3:message:/ns3:attachment"/> </bpelx:insertAfter> <copy> <from expression="ora.readBinaryFromFileWithMimeHeaders{'/home/testuser/
install-mq-7.0.txt',",","," 'install_mq_file',''}"/> <to variable="Invoke1_SendNotification_InputVariable" part="body" query="/ns3:message/ns3:attachment[2]"/> </copy>
次のスニペットでは、BPEL内の複数の添付ファイルに対するMIME情報の設定方法を示します。
<assign name="Assign1"> <copy> <from exporession="oraReadBnaryFromFileWithMimeHeaders('/home/testuser/oracle_sig_logo.gif','one','image/gif', ", '7bit', 'oracle_logo_gif_file', 'en/ja')"/> <to variable="invoke="1_SendNotification_InputVariable" part="body" query='/ns3:message/ns3:attachment[1]"/> </copy> <bpelx:InsertAfter> <bpelx:from variable=Invoke1_SendNotification_InputVariable" part="body" query=/ns3:message:/ns3:attachment"/> <bpelx:to variable=Invoke1_SendNotification_InputVariable" part="body" part="body" query=/ns3:message:/ns3:attachment"/> </bpelx:insertAfter> <from exporession="oraReadBnaryFromFileWithMimeHeaders('/home/
testuser/oracle_ sig_logo.gif','one','image/gif', ", '7bit',
'oracle_logo_gif_file', 'en/ja')"/> <copy> <to variable="invoke="1_SendNotification_InputVariable" part="body" query='/ns3:message/ns3:attachment[2]"/> </copy>
UMSアダプタ構成ウィザードを使用して構成する操作には、次のインバウンド操作およびアウトバウンド操作が含まれます。
Inbound Receive Notification
Outbound Send Notification
Outbound Send Notification (Message ID as Reply)
注意: 多くの場合は、BPEのinvokeアクティビティのプロパティ・タブを使用してjca.propertiesを選択し、その起動アクティビティから値を設定できます。ただし、jca.ums.message-idは、このメッセージIDが自動生成のため、設定できません。 |
1)BPELのinvokeアクティビティには、プロパティ・タブがあります。
このシナリオでは、UMSアダプタにより、UMSサーバーのアクセス・ポイントを登録し、受信通知の消費と処理を実行します。この項では、Oracle UMSアダプタのインバウンド受信通知に関連付けられた様々な構成と概念の概要を示します。
電子メールのWSDLを受信する例は次のとおりです。
<wsdl:definitions name="ReceiveEmail" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/ums/ UMSAdapter_In_SinglePart_Xlation/ SOAComposite_email_poller_bpel/ReceiveEmail" xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/ums/ UMSAdapter_In_SinglePart_Xlation/ SOAComposite_email_poller_bpel/ReceiveEmail" xmlns:pc="http://xmlns.oracle.com/pcbpel/" xmlns:imp1="http://platform.integration.oracle/blocks/adapter/ fw/metadata/UMSAdapter" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05 /partner-link/"> <plt:partnerLinkType name="ReceiveEmail_plt"> <plt:role name="ReceiveEmail_role"> <plt:portType name="tns:ReceiveEmail_ptt"/> </plt:role> </plt:partnerLinkType> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://platform.integration.oracle/blocks/adapter /fw/metadata/UMSAdapter" schemaLocation="xsd/UMS.xsd"/> </schema> </wsdl:types> <wsdl:message name="ReceiveEmail_msg"> <wsdl:part name="body" element="imp1:Email"/> </wsdl:message> <wsdl:portType name="ReceiveEmail_ptt"> <wsdl:operation name="ReceiveEmail"> <wsdl:input message="tns:ReceiveEmail_msg"/> </wsdl:operation> </wsdl:portType> </wsdl:definitions>
UMSアダプタを構成するには、Enterprise ManagerコンソールおよびJDeveloperの電子メール・アダプタ構成ウィザードを使用してユーザー・メッセージ・サービスを構成します。
ユーザー・メッセージ・サービス・ドライバを構成するには、Enterprise Managerコンソールからタスクを実行します。特に、電子メール・メッセージング・チャネルを使用するためには、電子メール・ドライバ・プロパティを構成する必要があります。次の項では、UMSアダプタの電子メール・ドライバの構成に関する情報を示します。
このプロシージャでは、必要な入力を指定して、電子メール・サーバーでのアウトバウンド接続性のためにUMSの電子メール・ドライバを設定します。
Enterprise Managerを使用して電子メール・ドライバを構成するには、「ユーザー・メッセージング電子メール・ドライバ」→「電子メール・ドライバ・プロパティ」の順にクリックします。
OutgoingMailServerの場所にSMTPサーバー名を入力します。
OutgoingMailServerPortにSMTPサーバーのポート番号を入力します。通常は25です。
SMTPサーバーで使用するセキュリティのタイプを入力します。設定可能な値は「なし」
、「TLS」
および「SSL」
です。デフォルト値は、None
です。
OutgoingDefaultFromAddrでSMTP認証に使用するユーザー名を入力します。SMTP認証がSMTPサーバーでサポートされている場合のみ必要です。(かわりにOutgoingUsernameフィールドも使用できます。)
OutgoingPasswordにSMTP認証で使用するパスワードを指定します。これは、SMTP認証がSMTPサーバーでサポートされている場合に必要です。
図11-2 「電子メール・ドライバ・プロパティ」画面を表示するEnterprise Managerコンソール
インバウンド・シナリオにおいて、UMSの電子メール・ドライバの設定で使用する必要がある最小構成は次のとおりです。
MailAccessProtocolと入力します。これは、電子メールの受信プロトコルです。設定可能な値はIMAP
およびPOP3
です。この値は、電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。
ReceiveFolderの値を入力します。ドライバがメッセージをポーリングするフォルダの名前。デフォルト値は受信ボックス
です。
IncomingMailServerの値を入力します。これは、受信メール・サーバーのホスト名です。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。
IncomingMailServerPortの値を入力します。これは、IMAP4サーバー(143または993)あるいはPOP3サーバー(110または995)のポート番号です。
IncomingMailServerSSLの値を入力します。これにより、IMAP4サーバーまたはPOP3サーバーへの接続時にSSLを有効にするかどうかを指定します。デフォルト値は無効です。
IncomingMailIDsに電子メール・アドレスを入力します。これらは、ユーザー名に対応する電子メール・アドレスです。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要になります。
IncomingUserIDs
にユーザー名のリストを入力します。これは、ドライバ・インスタンスのポーリング元のメール・アカウントにおけるユーザー名のリストです。各名前はカンマで区切られている必要があります(例: foo,bar
)。電子メールの受信がドライバ・インスタンスでサポートされている場合のみ必要です。
IncomingUserPasswords
と入力します。これは、ユーザー名に対応するパスワードのリストです。ドライバ・インスタンスで電子メールの受信をサポートする場合にのみ必要となります。
構成の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。
JDeveloper内のUMSアダプタ構成ウィザードを使用して、インバウンドUMSアダプタ参照を設計します。
「コンポーネント・パレット」から「外部参照」スイムレーンに「UMSアダプタ」をドラッグ・アンド・ドロップします。アダプタ構成ウィザードの「ようこそ」ページが表示されます。
「次へ」をクリックします。「サービス名」ページが表示されます。
「サービス名」画面の「サービス名」テキスト・ボックスにReceiveEmail
などのサービス名を入力します。
「UMSアダプタ接続」ページで、接続JNDI名を入力します。ここでは、eis/ums/UMSAdapterInbound
がJNDI名として指定されます。これは、インバウンド接続のデフォルトのJNDI名です。UMSアダプタ構成ウィザードの「操作タイプ」画面で、実行する操作を選択します。選択内容に応じて、アダプタ構成ウィザードの別のページが表示され、構成情報の入力が求められます。インバウンド接続性の場合は、「操作」画面で、操作タイプとして「インバウンド受信通知」
を選択し、「次へ」
をクリックします。
アダプタ構成ウィザードの「通知の詳細」ページでは、「ポーリング」
または「リスナー」
のモードを指定して、UMSサーバーから受信通知を受け取ることができます。
「ポーリング」モードを選択すると、インバウンド・ポーリング・パラメータを指定できます。
「ポーリング頻度」。新規通知を取得するためにUMSをポーリングする頻度です。
「頻度単位」。頻度の単位として秒、時間、日または週を指定します。
「インバウンド・スレッド数」。ポーリング・スレッド数を指定します。
UMSアダプタは、受信ボックスでメッセージが使用可能になるまでメッセージを受信します。メッセージがまったくない場合にのみ、UMSアダプタは、この画面で指定するポーリング間隔においてスリープします。このスリープ・アクティビティにより、受信の多いメッセージ・ボリューム・シナリオにおいて、受信ボックスに大量のメッセージがマウントされることを回避します。各ポーリング・スレッドでは、1回に1つのメッセージが取得され、その処理と公開が実行されます。
リスニング・モードを選択すると、「リスナー・スレッドのメッセージ」を指定できます。このプロパティでは、UMSサーバー側のリスナー・ワーカー・スレッド数が制御されます。デフォルト値は1です。このプロパティを指定すると、UMSサーバーでは、受信通知を受け取るマルチスレッド非同期が指定されます。
UMSアダプタ構成ウィザードの「通知の詳細」の第2ページでは、通知エンドポイント構成を使用して受信する通知のタイプを選択できます。電子メール通知の受信元となるカンマ区切りの電子メール・メールボックス・アドレスを2つ以上指定できます。
「次へ」をクリックして続行するか、または「終了」をクリックし、受信メッセージに対してメッセージ・フィルタを構成せずに、UMSアダプタ構成ウィザードの使用を終了します。
メッセージ・フィルタには、一致基準とアクションが含まれています。一連のメッセージ・フィルタの指定が可能です。これは、指定された基準がメッセージと一致し、アクションを取得した場合に、着信(受信)メッセージに順番に適用されます。
たとえば、任意の必要なブラックリストを実装すると、指定した送信者アドレスからのすべてのメッセージを拒否できます。
この画面では、3つの異なるタイプのフィルタを指定できます。(Javaパターンまたは正規表現の詳細は、http://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
で参照を参照し、http://download.oracle.com/javase/tutorial/essential/regex
でチュートリアルを参照してください。)
ブラックリスト・フィルタ: ブラックリスト・フィルタは、受信メッセージの送信者アドレスを照合し、その送信者アドレスが指定のJavaパターンと一致した場合にそのメッセージを拒否します。(つまり、Java正規表現です。)
ホワイトリスト・フィルタ: ホワイトリスト・フィルタは、受信メッセージの送信者アドレスを照合し、その送信者アドレスが指定のJavaパターンと一致した場合にそのメッセージを承認します。
メッセージ・フィルタ: メッセージ・フィルタは、指定のパターンで示した任意のフィールドを照合し、指定したアクションに応じてメッセージを承認または拒否します。このフィールドには、CONTENT
、HEADER
、METADATA
、RECIPIENT
、REPLYTO
、SENDER
、SUBJECT
が含まれます。
メッセージ・フィルタに適用されるアクションは、メッセージのACCEPT
またはREJECT
の2種類のみです。メッセージ・フィルタは、「メッセージ・フィルタ」ページで定義した順番と同じ順番で適用されます。
「終了」をクリックしてウィザードを使用した構成を完了するか、「次へ」をクリックして「Javaコールアウト」画面を続行し、追加フィルタの適用に使用可能なJavaクラスを指定します。
「Javaコールアウト」画面で、UMSアダプタによって呼び出し、指定したカスタム・ロジックを実行するJavaクラスの名前を指定します。
カスタムJavaコールアウトを指定する場合は、チェック・ボックスを選択し、テキスト・ボックスにクラス名を指定します。詳細は、この章のカスタムJavaコールアウト・クラスに関する項を参照してください。
後に示すページで「終了」をクリックし、UMSアダプタ・サービスの構成を完了します。Oracle UMSアダプタの構成が終了すると、インバウンド・サービスにJCAファイルが生成されます。ファイル名は、アダプタ構成ウィザードの「サービス名」ページで指定したサービス名と同じです。操作の定義を変更するには、後でこのウィザードを再実行できます。
JDeveloper内のUMSアダプタ構成ウィザードを使用して、アウトバウンドUMSアダプタ参照を設計します。
「コンポーネント・パレット」から「外部参照」スイムレーンに「データベース・アダプタ」をドラッグ・アンド・ドロップします。アダプタ構成ウィザードの「ようこそ」ページが表示されます。
UMSアダプタの「サービス名」画面が表示されます。たとえば、アウトバウンド・サービス名にSendMail
と入力します。
接続JNDI接続名を含むUMSアダプタ接続名画面が表示されます。
「操作」画面で、「操作タイプ」としてOutbound
を選択します。「操作名」のデフォルトはSendNotification
です。
「アウトバウンド通知の詳細」画面が表示されます。「電子メール」ボタンを選択します。「エンドポイントの構成」の詳細項目を入力するか、参照してそれらを検索します。また、指定したプライマリ・アドレスにフェイルオーバー・アドレスを指定できます。たとえば、scott.tiger@sport.com:failover-id@example.com
などです。このフェイルオーバー・アドレッシングは、To、CCおよびBccの各アドレスに適用されます。
「参照」ボタンをクリックし、「アイデンティティ・ルックアップ・ダイアログ」を使用してアイデンティティ・サービスを参照した上で、必要に応じてアドレス属性を検索および入力できます。「次へ」をクリックして続行するか、「終了」をクリックしてウィザードの使用を完了します。
「メッセージ」画面を使用して、UMS送信操作にメッセージを定義します。「不透明なメッセージ(Base64Binary)」または「文字列タイプのメッセージ」を選択する場合は、スキーマの「URL」および「スキーマ要素」を指定する必要はありません。スキーマの「URL」を選択する場合は、「スキーマ要素」を指定する必要があります。
「終了」をクリックし、UMSアダプタ構成ウィザードの使用を完了します。
「終了」画面が表示されます。UMSアダプタ構成ウィザードの使用を完了しておきます。「終了」をクリックして、画面上の指定された場所でのXSDおよびWSDLの作成を完了します。
サンプルは、Oracle SOA Samples Webサイトから入手できます。サンプルを使用するには、コンポジットを作成し、デプロイした上で、使用する電子メール・サーバーを電子メール・クライアントで構成する必要があります。
電子メール・アダプタのSOAコンポジットを含んだJDeveloperアプリケーションを作成する必要があります。適切なアプリケーションおよびプロジェクトを作成するには次を実行します。
JDeveloperの「アプリケーション・ナビゲータ」で、「新規アプリケーション」をクリックします。SOAアプリケーションとしてのアプリケーション・テンプレートを選択します。
「アプリケーション名」フィールドにSOA-Email-AutoReply
と入力して、「次へ」をクリックします。
「プロジェクト名」フィールドにSOA-Email-AutoReply
と入力します。
後続の図に示すように、「コンポジット・テンプレート」ボックスで「BPELを使用するコンポジット」を選択して、「終了」をクリックします。「BPELプロセスの作成 - BPELプロセス」ページが表示されます。
「名前」フィールドにBPEL_Email_AutoReply
と入力し、「テンプレート」ボックスから「サービスを後で定義」を選択します。
「OK」をクリックします。SOA-Email-AutoReplyアプリケーションとプロジェクトが設計領域に表示されます。
次のタスク・グループにより、インバウンドのOracle UMSアダプタ・サービスを作成して、指定の電子メール受信アドレスから受信電子メールを読み込むことができます。
「コンポーネント・パレット」から「公開されたサービス」スイムレーンにOracle UMSアダプタをドラッグ・アンド・ドロップします。「アダプタ構成ウィザード - ようこそ」ページが表示されます。
「次へ」をクリックします。「サービス名」ページが表示されます。
「サービス名」フィールドにReceiveEmailと入力します。
「次へ」をクリックします。「アダプタ接続」ページが表示されます。
「次へ」をクリックします。アダプタ操作ページが表示されます。
後述のように、「インバウンド受信通知」として「操作タイプ」を選択して、「次へ」をクリックします。「インバウンド操作の詳細」ページが表示されます。
操作モード・ポーリング(デフォルト)を選択して、「次へ」をクリックします。アダプタのインバウンド通知の詳細ページが表示されます。
test2@blr2240893.idc.oracle.com
を「電子メール・エンドポイント構成」テキスト・ボックスに入力します。これは、後述のように、受信メッセージの受信元となる電子メール・アドレスです。「次へ」をクリックします。アダプタ・メッセージページが表示されます。
「メッセージ」ページで、後述のように「文字列タイプのメッセージ」チェック・ボックスを選択します。「次へ」をクリックします。「メッセージ・フィルタ」ページが表示されます。
「メッセージ・フィルタ」ページで、「次へ」をクリックします。「カスタムJavaコールアウト」ページが表示されます。
「Javaコールアウト」ページで、「次へ」をクリックします。アダプタ・ウィザードの終了ページが表示されます。
「終了」ページで、「終了」をクリックします。
ここで、インバウンドのOracle UMSアダプタが構成され、composite.xmlファイルが表示されます。
電子メールを送信するために、アウトバウンドのOracle UMSアダプタ・サービスを作成するには、次の手順を実行します。
「コンポーネント・パレット」から「外部参照」スイムレーンに「UMSアダプタ」をドラッグ・アンド・ドロップします。「アダプタ構成ウィザード - ようこそ」ページが表示されます。
「次へ」をクリックします。「サービス名」ページが表示されます。「サービス名」フィールドにSendReplyEmail
と入力します。
「次へ」をクリックします。「接続」ページが表示されます。
「次へ」をクリックします。「操作」ページが表示されます。「操作タイプ」として「アウトバウンド送信通知」を選択します。
「次へ」をクリックします。「アウトバウンド通知の詳細」ページが表示されます。「To」フィールドにdummy
と入力します。
「次へ」をクリックします。「メッセージ」ページが表示されます。「文字列タイプのメッセージ」チェック・ボックスを選択します。
作成した3つのコンポーネント(インバウンド・アダプタ・サービス、BPELプロセスおよびアウトバウンド・アダプタ参照)をアセンブルまたは接続する必要があります。コンポーネントを接続する手順は、次のとおりです。
「公開されたサービス」領域にあるReceiveEmail内の小さい三角形を、「コンポーネント」領域のBPELプロセス内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。
「コンポーネント」領域にあるBPELプロセス内の小さい三角形を、「外部参照」領域のSendEmailReply内に緑の三角形として表示されるドロップ・ゾーンにドラッグします。JDeveloperのcomposite.xml
が表示されます。
「ファイル」、「すべて保存」を順番にクリックします。
次の一連の手順により、receiveアクティビティを追加できます。
「BPEL_Email_AutoReply」をダブルクリックします。「BPEL_Email_AutoReply.bpel」ページが表示されます。
JDeveloperの「コンポーネント・パレット」から「設計」領域にreceiveアクティビティをドラッグ・アンド・ドロップします。
receiveアクティビティをダブルクリックします。「Receive」ダイアログが表示されます。
「名前」フィールドにReceiveEmail
と入力します。
「パートナ・リンク」フィールドの端にある「パートナ・リンクの参照」をクリックします。「パートナ・リンク・チューザ」ダイアログが表示されます。
「ReceiveEmail」を選択して、「OK」をクリックします。
「Receive」ダイアログで、「変数」フィールドの右にある「変数の自動作成」アイコンをクリックします。「変数の作成」ダイアログが表示されます。
デフォルトの変数名を選択し、「OK」をクリックします。デフォルトの変数名が「変数」フィールドに移入されます。
「インスタンスの作成」を選択して、「OK」をクリックします。後述のように、JDeveloperの「BPEL_Email_AutoReply.bpel」ページが表示されます。
電子メール・ヘッダー情報を抽出する次の手順を実行します。receiveコンストラクトおよびプロパティ・タブを使用して、受信メールの任意のヘッダー・プロパティをフェッチできます。この値は、BPELのassignアクティビティですでに作成されている変数に割り当てることができます(後で使用します)。アウトバウンド・メールにはヘッダー・プロパティの設定機能もあります。これは、invokeアクティビティの「プロパティ」タブを使用して実行することもできます。このようにして、メールの受信(インバウンドUMSアダプタを使用)および送信(アウトバウンドUMSアダプタを使用)が可能となり、編成はBPELまたはMediatorを使用して実行されます。BPEL/Mediator APIを使用して、様々なヘッダーおよびペイロードを操作できます。
ヘッダー情報を保持するための一時変数を作成します。新規変数を追加するには、「変数」アイコンをクリックします。「変数」ダイアログ・ボックスが表示されます。後述のように、単純型string
の新規変数from
を追加します。
前述と同じ手順に従って、もう1つの変数であるsubject
を作成します。
receiveアクティビティをダブルクリックします。「Receive」ダイアログが表示されます。「プロパティ」タブをクリックします。
jca.ums.from
プロパティ値をfrom
変数に割り当てるには、後述のように、「変数の参照」ダイアログを使用して選択します。
IBM WebSphere Application Serverのインストール時にUMSアダプタのインバウンド側でポーラー・モードとリスナー・モードを動作させる場合は、IBM WebSphere Application Serverコンソールで設定を少し作成する必要があります。
IBM WebSphere Application ServerにLRC/Last参加者サポートを構成します。
スケジューリング・スレッドからターゲット・スレッドにJAASサブジェクトが伝播していることを確認します。
ヒューリスティックな終了の方向をCOMMIT
に設定します。
マスター構成の変更を保存します。
サーバーを再起動します。
composite.xml内の次のコード・スニペットに示すように、コンポジット・レベルで非同期が保持されていることを確認します。
<component name="BPELProcess1" version="1.1"> <implementation.bpel src="BPELProcess1.bpel"/> <property name="bpel.config.transaction" type="xs:string" many="false">requiresNew</property> <property name="bpel.config.oneWayDeliveryPolicy" type="xs:string" many="false">async.persist</property>