Oracle Fusion Middlewareリリース・ノート 11gリリース1(11.1.1) for Microsoft Windows(32-Bit) B55923-02 |
|
戻る |
次へ |
この章では、Oracle B2Bに関連する問題について説明します。内容は次のとおりです。
この項では、一般的な問題および回避方法について説明します。内容は次のとおりです。
17.1.1項「Oracle Integration B2B 10gからOracle B2B 11gへのアップグレード」
17.1.11項「Oracle B2Bがアグリーメント・デリバリ・チャネルに設定されているアルゴリズムを使用してMDNに署名する」
17.1.18項「Oracle WebLogicコンソールを使用して削除したユーザーがOracle B2Bインタフェースに数分間表示され続ける」
17.1.34項「b2bpurgeコマンドライン・ユーティリティで非アクティブなチャネルのリスニング・スレッドが終了しない」
17.1.57項「バッチ処理されたEDIアウトバウンド・メッセージで重複したGUIDが存在するとすべてのメッセージでエラーが発生する」
アップグレード情報は、次の項を参照してください。
Oracle B2Bオンライン・ヘルプを使用するには、ポップアップを許可します(ブラウザのポップアップ・ブロッカを無効にします)。
リモート・パートナ管理者の「アグリーメント」ページに「保存」ボタンが表示されませんが、デプロイされていないアグリーメントのアグリーメント名を編集し、アグリーメントを更新および保存することで、これらのユーザーはアグリーメントを更新および保存できます。この場合、Oracle B2Bでユーザー認可はチェックされません。
Oracle B2Bインタフェース(「管理」→「構成」ページ)を使用して構成されている場合、コンポジットまたはAQ(IP_IN_QUEUE)に返送される確認の通知(AS2-MDNまたはEDI-FA)がOracle B2Bで提供されます。受信される確認通知は次のようになります。
<Acknowledgment xmlns="http://integration.oracle.com/B2B/Acknowledgment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <replyToB2BMessageId>0AB1FE0211FE933570200000120666E0</replyToB2BMessageId> <replyToAppMessageId>0AB1FE0211FE933570200000120666E0</replyToAppMessageId> <ackB2BMessageId>0AB1FE0211FE9338CB80000012066930-1</ackB2BMessageId> </Acknowledgment>
ただし、replyToAppMessageId
が常にreplyToB2BMessageId
と同じものに誤って設定されることに注意してください。
次の点に注意してください。
アウトバウンド・バッチ時に例外が発生した場合、バッチはリポジトリからクリアされません。これは、トリガーが起動された場合も同様です。この場合、Oracle B2Bインタフェースの「管理」→「バッチの管理」ページを使用して、スケジュールされたバッチ・エントリを手動で削除する必要があります。
単発起動バッチ・スケジュールを無効にした場合、有効期限までにスケジュールを再度有効にしないと、WAIT_BATCHモードで設定されているメッセージはこのモードのままになります。また、同じドキュメントに対して作成された新規バッチ・スケジュールでこれらのメッセージは処理されません。回避方法は、アプリケーション・メッセージの再発行オプションを使用してメッセージを再送信することです。
送信されたEDI FAドキュメントについて返される確認(AS2-MDN)に対し、受信通知は行われません。
EDIドキュメント定義の作成後、ドキュメント定義へのアクセスと保存(ecsファイルの更新がない場合)によってFileNotFoundExceptionメッセージが生成されることがあります。
受信通知(AS2 MDN)をAQに配信する際、Oracle B2Bでb2backuserではなくドキュメント・ルーティングID(アウトバウンド・ドキュメントにドキュメント・ルーティングIDが設定されている場合)にユーザー情報が誤って設定されます。
Oracle B2Bインタフェースのアプリケーション・メッセージ・レポートに、ドキュメント・タイプが誤って表示されます。具体的には、アプリケーション・メッセージ・レポートに次の情報が表示されます。
受信メッセージの場合、表示されるドキュメント・タイプはアウトバウンド・メッセージのものです。特定のドキュメント・タイプに対するインバウンド・アプリケーション・メッセージの数に関するメトリック・データを収集する場合、この問題が原因で、問合せにより誤ったデータがレポートされる可能性があります。
FAメッセージの場合、表示されるドキュメント・タイプはFAメッセージ・タイプと同じです。
同期AS2モードで、インバウンド・アグリーメントに設定されているAS2識別子が、生成されるMDNで使用されます。AS2識別子がアグリーメントに定義されていない場合、生成されるMDNで名前識別子が誤って使用されます。回避方法は、所定のAS2識別子をインバウンド・アグリーメントに設定することです。
AS2で、受信者からの署名済MDNのリクエストで、署名に使用するアルゴリズムを指定できます。しかし、Oracle B2Bで、アグリーメント・デリバリ・チャネルに設定されているアルゴリズムを誤って使用してMDNに署名されます。このアルゴリズムは、リクエストされたアルゴリズムと異なる可能性があります。
AS2交換でEDIドキュメントを受信する場合、Oracle B2BでAS2の送信元識別子を使用した取引パートナの識別に失敗すると、Oracle B2BはEDI交換とグループIDを使用してパートナを識別しようとします。AS2識別子によるパートナの識別の失敗は無視されます。
SSLで送信されたAS2メッセージに応答してホスト・サーバーによって受信された同期MDNで、ワイヤ・メッセージに誤ったURLが表示されます。具体的には、ポート情報はHTTPリスニング・ポートに対するものですが、URLはHTTPSプロトコルを示します。
無効なEDI交換ID修飾子または無効な機能グループ識別子(それぞれ、デフォルトのecs修飾子標準コードList_105または機能識別子コード標準コードList_479の一部でない)の設定は、アウトバウンドの場合MSG_ERRORとされません。かわりに、Oracle B2Bで、構成されているエンドポイントにメッセージがエラーなしで配信されます。
エラー(トランスポート・チャネルが使用できないなど)の後に再試行するようB2Bチャネルが構成されていて、その後メッセージが正常に配信されると、Oracle Enterprise Managerで対応するエラー数の調整に失敗します。
クラスタ環境では、ノードが別のコンピュータ上にある場合、その2番目のノードにXEngineはインストールされません。これは、(2番目のノードで自動的に実行されない)構成ウィザードを実行した場合にのみXEngineの抽出が行われるためです。この問題を回避するには、XEngineの抽出を手動で実行し、サーバーを再起動します。
Oracle B2Bで複数のメッセージを1つのメッセージにバッチすると、各ビジネス・メッセージの本来のメッセージ・サイズがバッチ内のすべてのメッセージのサイズとして記録されます。これによって、Oracle B2Bインタフェースの「メトリック」ページに誤った平均メッセージ・サイズがレポートされます。
Oracle WebLogic Server管理コンソールを使用してユーザーを削除した後、約5分間ユーザーがOracle B2Bインタフェースで表示され続けます。これは、ユーザーが構成できる期間の間、ユーザー情報が管理対象サーバー(Oracle B2B)でキャッシュされたままになるためです。このユーザーのプロビジョニングなど特定の操作を実行すると、エラーになります。
回避方法は、Oracle WebLogic Server管理コンソールを使用してユーザーを削除した後5分以上待つことです。
あるいは、setDomain.cmdファイルで次のシステム・プロパティを指定し、キャッシュを無効にします。
-Dweblogic.security.identityAssertionTTL=-1
メッセージの処理中にインスタンス・メタデータをパージ(「管理」→「パージ」タブの「インスタンス・メタデータのパージ」ボタンを使用)しないでください。これを行うと、処理中のメッセージが失われる場合があります。かわりに、日付範囲とメッセージの状態を引数とするb2bpurge
コマンドライン・ユーティリティを使用します。b2bpurge
コマンドを使用すると、完了状態のメッセージのみが削除されます(これ以外の処理を行う理由が特にない場合)。
B2BMetadataWSPortのテスト・ページが「404 Not Found」エラーになります。回避方法は、リンクのURLのポート番号を、管理対象サーバー・ポートから管理サーバー・ポート(7001)に変更し、再試行することです。
クラスタ環境で、データのパージ、データのインポート、およびデータのエクスポートにB2Bコマンドライン・ユーティリティを使用しないでください。これらの目的にはOracle B2Bインタフェースを使用します。
ebMSドキュメントの場合、復号化および署名の失敗に対する否定確認がセキュリティ重大度エラーとして送信されます。他のすべてのebMS否定確認で、エラーはUnknownErrorとして設定されます。
非同期AS2インバウンド・ワイヤ・メッセージの再発行が所定どおり機能しない場合があります。たとえば、インバウンド・アグリーメントの状態を非アクティブに変更します。メッセージを受信すると、否定確認が生成されて返送されます。否定確認の受信時、送信者側でメッセージ状態はMSG_ERRORです。アグリーメントの状態を非アクティブからアクティブに変更し、インバウンド側でこの問題を解決します。非同期メッセージの再発行には2つのシナリオがあります。
シナリオA: 送信側でワイヤ・メッセージを再発行。メッセージが受信側ですでに処理されているため、これによってエラー・メッセージが重複します。
シナリオB: 受信側でワイヤ・メッセージを再発行。これは受信者側で受け渡され、肯定確認メッセージがプッシュバックされます。ただし、送信者側のメッセージの状態は変更されません。シナリオAは想定されますが、シナリオBは機能する必要があります。ただし、メッセージの状態がMSG_ERRORであるため、着信肯定確認が無視されます。これによって、両者のレポートに矛盾が生じます。インバウンド側ではメッセージがバックエンドに正常に渡されますが、アウトバウンド側ではメッセージがMSG_ERROR状態です。
Oracle B2Bインスタンス・データ・アクセスJava APIは、このリリースで使用できません。APIは今後のリリースで使用可能になる予定です。
事前定義のコールアウトXSLTCallout
は、このリリースでは使用できません。
データベースの負荷とアプリケーション・サーバーの負荷に基づいて、Oracle WebLogic Server管理コンソールでトランザクション・タイムアウト設定をチューニングします。ホームページから「JTA」を選択し、デフォルト設定の30を、これより大きい値にします。
大きなペイロードをエンキューする場合、enqueue.properties
ファイルで次のプロパティを設定します。
payload=payload_filename_with_absolute_path
eventName=LARGE_PAYLOAD=true
フル・ディレクトリ・パスを指定する必要があるため、この操作にはローカル・コンピュータを使用します。
暗黙的SSL暗号化は、トランスポート・レイヤーでサポートされていません。
ファイル、FTPおよびSFTPトランスポート・プロトコルで使用された場合、%ACTIONNAME%
ファイル名形式は認識されません。
Oracle B2Bでは、UTF-16でエンコードされたインバウンドRosettaNetメッセージを処理できません。「ドキュメント・プロトコル識別エラー」が返されます。
アグリーメントをデプロイする前に、自動生成アグリーメントを最低1回保存します。変換/検証およびFAに対するアグリーメント・パラメータ設定は、自動生成時ではなくアグリーメントの保存時にのみアグリーメントに生成されます。インタフェースにデフォルト値が表示されますが、これらはアグリーメント・メタデータで取得されず、実行時に無視されます。つまり、インバウンドEDIメッセージが変換されない可能性があります。
「リスニング・チャネル」タブで、プロトコルの選択に基づいて「チャネルの詳細」領域に表示されるパラメータ・フィールドの一部が、そのプロトコルと無関係です。これらのパラメータに値を入力しても効果はありません。表17-1に、関係ないパラメータ・フィールドをリストします。
表17-1 表示されるが、選択したプロトコルと無関係のフィールド
選択したプロトコル | 無視できるパラメータ・フィールド |
---|---|
AS1-1.0 |
「件名」、「添付ファイルとして送信」、「確認モード」、「レスポンス・モード」、「再試行数」、「再試行間隔」、「セキュリティ」タブのすべてのフィールド |
汎用ファイル-1.0 |
「再試行数」、「再試行間隔」 |
汎用AQ-1.0 |
「再試行数」、「再試行間隔」 |
汎用FTP-1.0 |
「プロキシの使用」、「再試行数」、「再試行間隔」 |
汎用SFTP-1.0 |
「再試行数」、「再試行間隔」 |
汎用JMS-1.0 |
「再試行数」、「再試行間隔」 |
汎用電子メール-1.0 |
「件名」、「添付ファイルとして送信」、「再試行数」、「再試行間隔」 |
リスニング・チャネルの汎用FTP-1.0プロトコルには、プロキシ・サポートがありません。
b2bpurge
コマンドライン・ユーティリティを使用する場合、非アクティブなチャネルがあると、それらのリスニング・スレッドが終了しません。回避方法は、非アクティブ・チャネルのリスニング・スレッドが終了するまでb2bpurge
コールを2、3回繰り返すことです。
エクスポートするアグリーメントを複数(「管理」→「インポート/エクスポート」から)選択し、それらのアグリーメント名のいずれかがマルチバイト・キャラクタ言語の場合、アグリーメントごとに異なるZIPファイルを含むエクスポートZIPファイルで、マルチバイト・キャラクタのアグリーメント名のZIPファイル名が文字化けします。文字化けした名前のZIPファイルは破損しており、正常にインポートできません。ただし、マルチバイト・キャラクタ言語での単一アグリーメント名(またはリポジトリ名)は正常にエクスポートされます。
確認モード・パラメータが非同期に設定されたebMS交換を使用するインバウンド・アグリーメントには、ebMSデリバリ・チャネルが必要です。
通常デフォルト・ログ・レベルでは、ログ・ファイルに詳細は出力されません。ただし、RosettaNetデプロイの場合、デフォルト・ログ・レベル設定でもログの詳細は非表示になりません。
EDIFACTおよびHL7ドキュメントなどのXEngineを使用するドキュメントの場合、EDIFACTおよびHL7ドキュメントのキャラクタ・セット・レジストリにないマルチバイト・キャラクタのペイロードがある場合、使用可能なキャラクタ・セットにリストされていない文字がデータ要素に含まれているというエラーが表示されることがあります。
このエラーを回避するには、Oracle B2Bドキュメント・エディタでuser.cs
という名前のカスタム・キャラクタ・セット(CS)ファイルを作成します。
Oracle B2Bドキュメント・エディタで、「ツール」→「キャラクタ・セット・レジストリ」とクリックします。
「キャラクタ・セット・レジストリ」ウィンドウで、オーバーライドするキャラクタ・セットを選択します。
たとえば、EDIFACT UNOB CSまたはHL7 CSをオーバーライドします。
複製アイコンをクリックします。
「キャラクタ・セット・プロパティの複製」ウィンドウで、デフォルトを受け入れ、特定のマルチバイト・キャラクタをキャラクタ・セットの余白の最後に追加して「OK」をクリックします。
複製したファイルを選択したままの状態で、エクスポートアイコンをクリックします。
ファイルにuser.cs
という名前を指定し、保存します。
user.cs
を次の場所にコピーします。
ORACLE_HOME/soa/thirdparty/edifecs/Common
これで、EDIFACT、HL7などのドキュメントで、ペイロード・ファイルの検証にデフォルトCSファイルではなくuser.cs
ファイルが使用されます。
JDeveloperのB2B構成ウィザードでマルチバイト・キャラクタのドキュメント定義名(MBCSの名前のドキュメント定義)を使用する場合、サービスのドキュメント定義を選択するためにドキュメント定義がロードされる処理でUTF8エンコーディングが無効というエラーが表示されることがあります。これは、JDeveloperが非UTF-8の環境(Windowsでの簡体字中国語Win2k3の使用、ネイティブ・エンコーディングLinux OSでのzh_CN.gb18030の使用など)で実行されている場合に起こります。ただし、zh_CN.utf8などのUTF-8エンコーディングのLinux環境では、MBCSの名前のドキュメント定義は正常にロードされます。ロード後、MBCSの名前のドキュメント定義は、JDeveloperのドキュメントXSDフォルダの名前になります。
MBCSの名前のドキュメント定義が、B2B構成ウィザードで正常にロードおよび表示されるようにするには、次のようにします。
Linux環境でJDeveloperを使用する場合、まずLANG
およびLC_All
環境変数をUTF-8キャラクタ・セットのロケールに設定します。これによって、オペレーティング・システムはUnicodeで文字を処理します。その後JDeveloperを起動します。
Windows環境でJDeveloperを使用する場合、jdev -J-Dfile.encoding=utf-8
でUTF-8エンコーディングを使用してJDeveloperを起動します。
クローニングされた取引パートナを含む11g R1 SOA - Oracle B2Bインストール環境からのエクスポートで、クローニングされた取引パートナの定義のドキュメント定義名にnullが表示されます。(この問題は、11g PS1 SOA - Oracle B2Bインストール環境を使用してクローニングされたパートナでは発生しません。)たとえば、定義にEDI_X12-4010-850-nullと表示されます。
この問題が発生したら、次の手順に従ってドキュメント定義を再作成してください。
ドキュメント定義に関連付けられたアグリーメントを削除します。(アグリーメントを削除しないと、定義の削除を試みたときにエラーが発生します。)
ドキュメント定義を削除します。
ドキュメント定義を作成し、取引パートナに追加します。
ドキュメント定義を含む新規アグリーメントを作成します。
HL7メッセージで、XERegistry.xml
のHL7.AllowExtraData
をfalseに設定して余分な要素に関する検証エラーを抑止してください。
XERegistry.xml
ファイルは次のディレクトリにあります。
SOA_HOME\thirdparty\edifecs\XEngine\config
詳細は、6.2.12項「Oracle B2B HA環境でサポートされないメッセージ順序付けおよびMLLP」を参照してください。
Oracle B2Bの複数のインスタンスがそれぞれ複数のスレッドを保持しながら実行されるアウトバウンド・メッセージが存在する高負荷環境では、次の解決策を使用してメッセージを回復し、メッセージの損失を防いでください。
解決策1: 重複したファイル名
すべてのメッセージのファイル名(TPname_timestamp
)が同じディレクトリに送信される環境では、タイムスタンプにミリ秒が含まれるため、通常であればすべてのファイル名は一意になります。ただし、高負荷環境では、重複したファイル名が発生し、その結果、ファイルが同じ名前を持つ後続のファイルによって上書きされる可能性があります。
この問題の解決策は、ファイル名に一意のMSG_ID値を追加することです。B2Bインタフェースで、「パートナ」リンクに移動してリモート取引パートナを選択します。「チャネル」→「トランスポート・プロトコル・パラメータ」に移動します。「ファイル名フォーマット」パラメータを使用できるチャネルでは、ファイル名フォーマット・マクロとして%MSG_ID%を追加します。これで、すべてのファイル名が一意になります。
解決策2: 完全処理されたメッセージ再配信試行
「java.lang.RuntimeException: AppMessage is null:
msg_id」
というメッセージが表示された場合、競合状態を示している可能性があります。競合状態が発生するのは、JMSイベントが処理のためにエンキューおよびデキューされたが、対応するメッセージが実行時リポジトリでコミットされない場合です。B2Bエンジンは、トランザクションを再試行しますが、再試行が時間を置かずに発生した場合、失敗する可能性があります。すべての再試行が完全に処理されると、イベント配信トランザクションはロールバックされ、例外キューが構成されていれば、その構成済の例外キューに例外メッセージが送信されます。
例外キューを構成し、完全処理された再配信メッセージをその例外キューからB2BEventQueueに再発行するには、Oracle WebLogic Server管理コンソールを使用します。
次の手順を実行してください。
キューを作成し、B2BEventExceptionなどの名前を付けます。
コンソールで、B2BEventQueueの設定に移動し(「ホーム」→「JMSModules」→「SOAJMSModule」)、「構成」→「配信の失敗」タブをクリックします。
「有効期限ポリシー」で、「リダイレクト」を選択します。
「エラー宛先」で、手順1で作成したキュー(B2BEventExceptionなど)を選択します。
所定の再配信数に達してB2Bで処理できなかったメッセージは、このエラー宛先キューに転送されます。
構成済のエラー宛先キューからB2BEventQueueにメッセージを移動し、処理のためにそれらのメッセージを再発行します。
メッセージの移動方法の詳細は、Oracle Fusion Middleware Oracle WebLogic Server管理コンソールのオンライン・ヘルプのキュー・メッセージの管理に関するトピックを参照してください。
ebMS標準に基づいて、Oracle B2Bでは、DuplicateEliminationタグがebMSメッセージに存在する場合にのみ、重複したインバウンドebMSメッセージをチェックする必要があります。ただし、現在のところ、B2BではDuplicateEliminationタグがebMSメッセージに存在するかどうかにかかわらず、重複したインバウンドebMSメッセージの検出を試みます。
@記号は、Msgidではサポートされません。
現在のリリースのSOA B2Bでは、エディションベースの再定義はサポートされません。
トランスポート・コールアウトは、リスニング・チャネルでは使用できません。
複数ノードのSOAサーバー・ドメインで、JMXフレームワークは、ファイルベース・ポリシーのローカル変更を各実行時環境に伝播し、データがキャッシュ・ポリシーおよび構成に基づいてリフレッシュされるようにします。
複数ノードのサーバー環境では、ドメイン・ポリシーおよび資格証明ストアをLDAPベースのストアで集中管理することをお薦めします。ファイルベースのストアを使用すると、B2B UIで行ったユーザー権限に対するローカル変更が適切に伝播されず、最終的にエラー状態となる可能性があります。
詳細は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。
Oracle Enterprise Managerでは、Oracle B2Bなどのバインディング・コンポーネントのフォルト修復は使用できません。フォルト修復は、BPELやメディエータなどのサービス・エンジンでのみ使用できます。
異なる交換APPLICATION REFERENCE設定が存在する異なるEDIELドキュメント・タイプ(DELFORおよびMSCONS)では、単一の交換内でバッチ処理される場合、使用するAPPLICATION REFERENCEフィールドの設定を、バッチ処理される最初のドキュメントからのみ取得します。
この問題を回避するため、ドキュメントに異なる交換アプリケーション参照が存在する場合、それらをバッチ処理しないようにドキュメントごとに個別のバッチ基準を作成することをお薦めします。
BOMに基づくXSDは、Oracle B2Bコンポジットのモデル化時にOracle JDeveloperからフェッチされません。この問題は、BOMがファイルの先頭に出現するために発生します。
複数の送信者交換IDをサポートする現在のOracle B2B実装では、新しい交換IDの追加後にアグリーメントを再デプロイする必要があります。アグリーメントのデプロイを実行しないと、初期デプロイ時に存在していた交換IDが、検証チェック時に唯一の交換IDとみなされます。
エラーになったメッセージについては、メッセージ数が増加します。ただし、(エラーになったメッセージの)メッセージ・サイズは考慮されません。そのため、レポートされる平均は、予想より少なくなります。
FTPリスニング・チャネルでは、プロキシはサポートされません。
「レポート」タブ(デフォルト設定はビジネス・メッセージ・レポート)をクリックすると、(管理対象サーバーの起動元である)管理対象サーバー・コンソールのログに次の警告が複数表示されます。
値""と一致する選択アイテムが見つかりませんでした ...
Microsoft Windows環境でXEngineを使用すると、NCPDP Telecomドキュメントでペイロード検証エラーが発生します。
バッチ処理されたアウトバウンドEDIメッセージのセットで同じGUID値を持つ2つのメッセージが存在すると、XEngineではそのバッチのすべてのメッセージにエラーを出力します。以前のリリースの動作では、重複したメッセージのみにエラーが出力され、他のメッセージは正常に処理されました。
CPP/CPAのcpaimport
コマンドライン・ユーティリティを-Dstandard=true
付きで実行する場合、B2Bメタデータへの変換が既知の制限を受けます。この操作は、CPP/CPAにBPSSドキュメントへの参照が含まれる場合はサポートされません。
この項では、構成の問題および回避方法について説明します。内容は次のとおりです。
HL7の場合、Oracle B2Bインタフェースの「管理」→「構成」ページで「機能確認」内部プロパティ(FAInternalProperty)をfalseに設定すると、Oracle B2Bで設計時パラメータではなく、ペイロード・ヘッダーFA内部プロパティが使用されます。
FAInternalPropertyがtrueに設定され、異なるペイロードと設計時パラメータがある場合、確認メッセージにエラーが表示されます。このため、HL7ではFAInternalPropertyをtrueに設定しないようお薦めします。
リモート取引パートナのメタデータには、同じドキュメント定義の送信者と受信者で別々の情報が格納されますが、Oracle B2Bインタフェースを使用して異なる値を指定できません。
回避方法は、新規ドキュメント定義を作成し、2つの定義を使用して送信者と受信者に別々にパラメータを指定することです。
Oracle B2Bインタフェースには、交換用にリクエスト済確認フィールドを設定する機能は用意されていません。
バージョン、タイプおよび定義の指定を含むホスト・ドキュメントを作成する際、ユーザーによってオーバーライド可能なデフォルト値がOracle B2Bで特定のフィールドに割り当てられます。1つ以上の任意フィールドを空白でオーバーライドし、リモート取引パートナに定義を追加すると、故意に空白のままにしたリモート取引パートナのデフォルト値が再表示されます。
この問題を解決するには、リモート取引パートナの任意フィールドを再度手動で空白にします。
ドキュメント・プロトコルを使用すると、次の例外が売り手のsoa.logファイルに出力されます。
oracle.toplink.exceptions.QueryException Exception Description: Query sent to an unactivated UnitOfWork.
回避方法は、Oracle WebLogic Server管理コンソールを使用してJTAタイムアウトを30より大きい値にすることです。
多数のメッセージの処理時に起こる可能性のあるエラー状態を避けるために、本番環境のデフォルト表領域構成を大きくします。
b2b.addCorrelatedFAInfoInExceptionXML
プロパティを有効化すると、アウトバウンドEDIドキュメントのエラーを示す相関FAメッセージの詳細を含む例外メッセージが設定されます。この追加情報は、AQ例外メッセージにのみ転送され、ファブリック例外メッセージには転送されません。
Oracle B2Bインタフェースの「自動検索の有効化」パラメータ(「管理タスク」→「構成」ページ)は、このリリースでは機能しません。
Oracle Enterprise Manager Fusion Middlewareコンソールでプロパティb2b.HL7DocIdentification=trueを設定する機能は、AQおよびコンポジットのデフォルト・オプションでは動作しますが、JMSでは動作しません。
使用方法は、17.3.9項「b2b.hl7docidentificationを使用したドキュメント情報の抽出」を参照してください。
この項では、ドキュメントの訂正箇所を示します。内容は次のとおりです。
Oracle B2Bの「ヘルプ」リンクから利用できる内容よりも完全な情報は、Oracle Fusion Middleware Oracle B2Bのユーザーズ・ガイドを参照してください。特に、このガイドには、オンライン・ヘルプに存在しない「アクティブなドキュメント・タイプ」フィールドおよび「アクティブな取引パートナ」フィールド(表17-1)と、「サマリー」フィールド(表17-2)の説明が含まれます。
Oracle Fusion Middleware Oracle SOA SuiteおよびOracle BPM Suiteの管理者ガイドに含まれるB2B属性の構成に関する図で、Element_1ノードのb2b.r1ps1プロパティに記載されている値は、間違っています。このプロパティのデフォルト値は、falseではなくtrueです。
Oracle JDeveloperのB2B構成ウィザードで「アプリケーション・サーバー接続」ページの「B2Bテスト」ボタンにカーソルを移動したときにポップアップする説明テキスト(ツールチップ)で、誤ってSOA OC4J HTTPポートに言及しています。このボタンをクリックすると、B2Bサーバー接続がテストされます。
アウトバウンドのファイル、FTPおよびSFTPチャネルのファイル名形式は、11gR1 PS2で次のように変更されました。
ToParty_YearMonthDay_Hr_Min_Sec_millisec_<Threadhashvalue>_<VMID>.dat
次に例を示します。
GlobalChips_850_4010_2009FEB23_03_22_07_321_238_245 .dat
Threadhashvalueは、実行中スレッドの値です。
VMIDは、仮想マシンの一意の識別子です。
注意: 元の形式は、ToParty_<timestamp>.dat
です。
Oracle Enterprise Manager Fusion Middleware Controlの「最新のフォルト」領域には、エラー・メッセージ、フォルトの時刻、関連コンポジット・インスタンスIDなどの詳細とともに、フォルトがリストされます。フォルトは、サービス・バインディング・コンポーネントによって処理される着信メッセージか、参照バインディング・コンポーネントによって処理される発信メッセージに関して記録されます。
Oracle B2Bコンソールにはすべてのエラーが表示されますが、Oracle Enterprise Manager Fusion Middleware Controlにはフォルトのサブセットのみが表示されることに注意してください。このサブセットには、Oracle B2Bでの取引パートナ識別の後でエラーが存在するすべての着信メッセージが含まれます。
詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle BPM Suiteの管理者ガイドの第4章「SOAインフラストラクチャの監視」および第38章「サービスおよび参照バインディング・コンポーネントの監視」を参照してください。
次の点に注意してください。
1)Oracle B2Bのフォルトおよび拒否されたメッセージは、コンポジットまたはドメインのホームページから監視できます。
2)Oracle B2Bのエラー・メッセージは、「エラー・メッセージ」列で参照できます。また、エラー・リンクを使用して、エラーの詳細とOracle B2Bメッセージ・ペイロードを参照できます(権限を付与されている場合)。
3)リカバリの詳細には、これらのフォルトがOracle Enterprise Managerからリカバリできないことが示されますが、エラーの詳細とペイロードを参照して(権限を付与されている場合)、問題を識別できます。Oracle B2Bコンソールでは、必要に応じて拒否されたこれらのメッセージを再発行できます。
4)コンポジット・インスタンスIDは、Oracle B2Bフォルトに対しては表示されません(使用不可)。このような場合、SOAコンポジット・インスタンスは作成されないためです。
5)「ログ」をクリックすると、関連するOracle B2Bログ・メッセージを参照できます。
EDIELでは、UCMセグメントはCONTRLメッセージで使用されないため、(完全なバッチ処理済インバウンド・メッセージの一部として受信された)個々のメッセージのエラーは、レポートされません。交換レベルの確認ではステータスが7と示されますが、これは受領ステータス・メッセージです。
b2b.addCorrelatedFAInfoInExceptionXML
プロパティがtrue
に設定されると、Oracle B2Bでは、アウトバウンドEDIメッセージのエラー情報を保持する機能確認メッセージのビジネス・メッセージIDが追加されます。
この情報がない場合、エラーにはエラー状態になったアウトバウンド・メッセージの情報のみが含まれるため、ユーザーは、アウトバウンド・メッセージを機能確認メッセージに迅速に関連付けることができません。
Oracle Fusion Middleware Oracle B2Bのユーザーズ・ガイドの付録C「バックエンド・アプリケーション・インタフェース」で、次のB2Bファブリック・アプリケーション・インタフェース・パラメータの詳細を追加する必要があります。
Oracle Fusion Middleware 10gのOracle B2Bでは、IP_MESSAGE_TYPE
のACTION_NAME
を使用して、バックエンド・アプリケーションがOracle B2Bと通信できるようにいくつかの特殊機能および動的機能を提供します。Oracle Fusion Middleware 11gのOracle B2Bでも、正規化されたメッセージ・プロパティを使用して同じ機能を実現します(表17-2を参照)。
表17-2 Oracle B2B 10gのIP_MESSAGE_TYPEとOracle Fusion Middleware 11g SCA/ファブリックの正規化されたメッセージ・プロパティとのマッピング
機能 | 説明 | ACTION_NAME(IP_MESSAGE_TYPE) | SCA/ファブリック | プロトコル |
---|---|---|---|---|
動的IP |
動的に上書きされるIPアドレスの値。 |
DYNAMICIP:<IPアドレス> 例: DYNAMICIP:GlobalChips:10.177.255.212:12345 |
b2b.toDynamicIP 例: GlobalChips:10.177.255.212:12345 |
HL7/MLLP |
動的電子メール |
動的に上書きされる電子メール・アドレス。 |
DynamicEmail:<電子メール・アドレス> 例: DynamicEmail:admin@oracle.com |
b2b.toDynamicEmail 例: admin@oracle.com |
汎用電子メール |
電子メール件名 |
動的に上書きされる電子メール件名。 |
EmailSubject:<件名> 例: EmailSubject:PurchaseOrder |
b2b.toEmailSubject 例: PurchaseOrder |
汎用電子メール |
ファイル名 |
メッセージのファイル名。通常、ファイル名の保存に使用されます。 |
filename:<ファイル名> 例: filename:salesorder.xml |
b2b.fileName 例: salesorder.xml |
AS2 |
コンテンツ・タイプ |
メッセージのコンテンツ・タイプ。 |
contentType:<コンテンツ・タイプ> 例: contentType:text/xml |
b2b.contentType 例: text/xml |
AS2 |
ブロードキャスト |
メッセージがブロードキャストされる取引パートナのグループ名。 |
Grouping:<グループ名> 例: Grouping:InventoryRequest |
b2b.toTradingPartnerGroup 例: InventoryRequest |
- |
順序付け |
メッセージに関連付けられるターゲット順序。 |
TARGET:<ターゲット> 例: TARGET:PatientId123 |
b2b.sequencingTarget 例: PatientId123 |
HL7/MLLP |
大規模ペイロード |
LARGE_PAYLOAD |
NMのペイロード・フィールド |
すべてのプロトコル |
|
アクション |
メッセージに関連付けられるEBMSアクション名。 |
ACTION:<アクション名> 例: ACTION:ebMSRequest |
b2b.action 例: ebMSRequest |
EBMS 汎用ファイル FTP SFTP |
サービス |
メッセージに関連付けられるEBMSサービス。 |
SERVICE:<サービス名> 例: SERVICE:FileTransfer |
b2b.ebms.Service 例: FileTransfer |
EBMS |
サービス・タイプ |
メッセージに関連付けられるEBMSサービス・タイプ。 |
SERVICETYPE:<サービス・タイプ> 例: SERVICETYPE:String |
b2b.ebms.ServiceType 例: String |
EBMS |
開始ロール |
メッセージに関連付けられるEBMS開始ロール。 |
FROMROLE:<開始ロール> 例: FROMROLE:Buyer |
b2b.ebms.FromRole 例: Buyer |
EBMS |
終了ロール |
メッセージに関連付けられるEBMS終了ロール。 |
TOROLE:<終了ロール> 例: TOROLE:Seller |
b2b.ebms.ToRole 例: Seller |
EBMS |
接続モードの上書き |
メッセージに関連付けられる接続モード。 |
CONNMODE:<接続モード> 例: CONNMODE:Permanent |
b2b.connMode 例: Permanent |
MLLP |
カスタム・ヘッダー |
メッセージに関連付けられるカスタム・ヘッダー。 |
CUSTOM_HEADER:<値> 例: CUSTOM_HEADER: SequenceId |
b2b.customHeader 例: SequenceId |
MLLP |
ドキュメント・タイプ名およびリビジョンを指定せずにHL7ドキュメントをエンキューする場合、その情報をHL7ペイロードから抽出できる必要があります。アプリケーションによって出力キューに指定されていないドキュメント・タイプ名およびバージョンを取得するには、Oracle Enterprise Manager Fusion Middlewareコンソールで次のプロパティを設定します。
b2b.HL7DocIdentification=true
注意: このプロパティは、AQおよびコンポジットのデフォルト・オプションでは動作しますが、JMSでは動作しません。17.2.9項「ドキュメント情報の抽出プロパティはJMSオプションで動作しない」を参照してください。
Oracle B2Bコンソールに、Oracle Fusion ApplicationsおよびOracle B2BとのAIA統合にいくつかのパラメータを提供するための新しい「アプリケーション」タブが追加されました。
次の情報は、Oracle Fusion Middleware Oracle B2Bのユーザーズ・ガイドの変換Webサービス・リクエストに関する表に含まれる必要があります。
@type
この属性は、from
とto
の両方で使用できます。from
およびto
に適切な値は、取引パートナの名前です。Name
のかわりに別の識別子を使用する場合、@type
属性に対して値を指定できます。
次の例では、取引パートナの名前が保持されています。
<from>Acme</from>
次の例では、取引パートナのDUNS IDが保持されています。この例ではDUNS IDを使用しているため、そのIDをtype
に対して明示的に記述しています。(この例は、to
要素にも適用されます。)
<from type="DUNS">11111111</from>
次の情報は、Oracle Fusion Middleware Oracle B2Bのユーザーズ・ガイドのトランスポート・プロトコル・パラメータに関する表のFilename Format
行に含まれる必要があります。
一般交換を使用したアウトバウンドおよびインバウンド処理で、生成されるファイル名には、デフォルト書式(YYYYMMMdd_HH_mm_ss_SSS
)のタイムスタンプが含まれます。
11gR1 PS2のファイル名フォーマットでは、角カッコ([])内に希望するタイムスタンプ書式を入力することで、「トランスポート・プロトコル・パラメータ: ファイル名フォーマット」に異なるタイムスタンプ書式を指定できます。
次に例を示します。
%FROM_PARTY%_%TIMESTAMP[YYYYMMMdd_HH_mm_ss_SSS]%.dat
この書式で生成されるファイル名は、次のようになります。
Acme_2010MAR20_12_34_231.dat
PS2で、ebMSアグリーメントに常に存在する名前識別子は、実行時にPartyId
の一部として送信されません。b2b.ebMSName=true
プロパティを使用して、すべてのebMSアグリーメントにebMS識別子を追加する必要があります。このプロパティは、configmbeanutil
ユーティリティを使用して設定できます。
次の情報は、Oracle Fusion Middleware Oracle B2Bのユーザーズ・ガイドのCPP/CPAインポートに関する項およびCPP/CPAエクスポートに関する項に含まれる必要があります。
11gR1 PS2のCPP/CPAインポートおよびエクスポート用のOracle B2Bコマンドライン・ユーティリティで、パフォーマンスを最適化する新規コマンドライン引数が追加されました。新規プロパティは次のとおりです。
-Dstandard=true
-Dstandard=true
を使用してCPP/CPAインポートを実行する場合、CPP/CPAエクスポートも-Dstandard=true
を使用して実行する必要があります。
次に例を示します。
ant -f ant-b2b-util.xml b2bcpaimport -Dpropfile="<property-file>" -Dstandard=true ant -f ant-b2b-util.xml b2bcpaexport -Dpropfile="<property-file>" -Dstandard=true
-Dstandard=true
フラグを使用してCPP/CPAインポートを実行する場合、その機能を実行時に使用するには、b2b.useCPAid=true
を設定する必要があります。
次にアウトバウンド・エンキューの例を示します。
eventName=ACTION:ebmsaction1;SERVICE:ebmsservice;SERVICETYPE:String;CPAID:myc
paid12343;
同様に、インバウンドの取引パートナ側でも、-Dstandard=true
を使用してCPP/CPAインポートを実行する場合、b2b.useCPAid=true
を設定します。
アグリーメントの検証時、保存されているデータがOracle B2Bで検証されます。アグリーメントに行った未保存の変更はOracle B2Bで検証されません。
Oracle B2Bドキュメント・エディタのMapBuilderコンポーネントは、動作保証およびサポートの対象外です。