この章では、Oracle B2Bに関連する問題について説明します。内容は次のとおりです。
この項では、一般的な問題および回避方法について説明します。内容は次のとおりです。
15.1.8項「Oracle Enterprise Managerで省略されたアクティブ・ドキュメント・タイプ情報が表示される」
15.1.13項「Oracle B2Bがアグリーメント・デリバリ・チャネルに設定されているアルゴリズムを使用してMDNに署名する」
15.1.15項「複数実行中のOracle B2Bインタフェースのインスタンスで表示されるデータが自動的にリフレッシュされない」
15.1.26項「Oracle WebLogicコンソールを使用して削除したユーザーがOracle B2Bインタフェースに数分間表示され続ける」
15.1.40項「JMSキューの使用が有効な場合、B2Bはエラー通知をB2B_IN_QUEUEではなくIP_IN_QUEUEに送信する」
15.1.50項「Oracle Integration B2B 10gからOracle B2B 11gへのアップグレード」
15.1.51項「ドキュメント・エディタで作成されたecsファイルを位置フラット・ファイル・ドキュメント・タイプに使用できない」
15.1.55項「b2bpurgeコマンドライン・ユーティリティで非アクティブなチャネルのリスニング・スレッドが終了しない」
15.1.63項「マルチバイト・キャラクタを使用するHL7ドキュメントのペイロード・ヘッダーにUNICODEを使用する」
Oracle B2BでEDIおよびHL7を使用する場合、最新のXEngineパッチをインストールします。最新のパッチは、My Oracle Support(以前のOracleMetalink)の番号8604074にあります。
XEngineでは、ローカル・サーバーの日付と時間ではなく、GMTを使用して日付と時間の「交換」および「グループ」ヘッダー・フィールドを設定します。これは、ローカル時間をXERegistry.xml
構成ファイルで構成している場合も同様です。
XERegistry.xml
ファイルの次のセグメントに示すとおり、XEngineのTime
属性のデフォルト設定はGMT
です。
<Product Name="XEngine"> <Category Name="Settings"> <Item Name="Time">GMT</Item> <Item Name="LimitEvents">Rejecting</Item> <!-- Rejecting | @ NonRejecting | All --> <Item Name="InputBufferSize">4096</Item> <Item Name="EnvCrtSeq">DSA</Item> <Item Name="UECLSupport">true</Item>
Time
属性に、GMT
のかわりにLocal
を指定しても効果はありません。
最新のXEngineパッチをインストールします。パッチを適用すると、デフォルトがLocal
になります。Oracle B2BでEDIおよびHL7を使用する場合も最新のXEngineのパッチをインストールすることをお薦めします(最新のパッチはこの問題に対応しています)。最新のパッチは、My Oracle Support(以前のOracleMetalink)の番号8604074にあります。
リモート・パートナ管理者の「アグリーメント」画面に「保存」ボタンが表示されませんが、デプロイされていないアグリーメントのアグリーメント名を編集し、アグリーメントを更新および保存することで、これらのユーザーはアグリーメントを更新および保存できます。この場合、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
と同じものに誤って設定されることに注意してください。
バッチされたメッセージで、1つのメッセージの一部としてバッチされている複数ドキュメントでアグリーメントのFAの設定が異なる場合、Oracle B2Bで最初のドキュメントのFA設定が使用され、バッチ内の他のすべてのドキュメントにその設定が適用されます。
アウトバウンドの場合、機能確認を必要としないドキュメントはMSG_WAIT_FAの状態でFAを待ちます。インバウンドの場合、FAを作成する必要のないドキュメントが生成されます。デプロイされたアグリーメントがFAにない場合、これによって、FAドキュメントがMSG_ERROR状態に遷移することがあります。
次の点に注意してください。
アウトバウンド・バッチ時に例外が発生した場合、バッチはリポジトリからクリアされません。これは、トリガーが起動された場合も同様です。この場合、Oracle B2Bインタフェースの「管理」ページを使用して、スケジュールされたバッチ・エントリを手動で削除する必要があります。
単発起動バッチ・スケジュールを無効にした場合、有効期限までにスケジュールを再度有効にしないと、WAIT_BATCHモードで設定されているメッセージはこのモードのままになります。また、同じドキュメントに対して作成された新規バッチ・スケジュールでこれらのメッセージは処理されません。回避方法は、アプリケーション・メッセージの再発行オプションを使用してメッセージを再送信することです。
送信されたEDI FAドキュメントについて返される確認(AS2-MDN)に対し、受信通知は行われません。
Oracle Enterprise Managerの「B2Bインフラストラクチャ(SOAバインディング)」ページの上位5のアクティブ・ドキュメント・タイプのセクションにAS2交換を使用して受信したインバウンド・メッセージが表示されますが、DocumentProtocolName
DocumentProtocolVersion
DocumentTypeName
ではなく、DocumentTypeName
のみ表示されます。
たとえば、EDI_X12 4010 850ではなく、850と表示されます。
EDIドキュメント定義の作成後、ドキュメント定義へのアクセスと保存(ecsファイルの更新がない場合)によってFileNotFoundExceptionメッセージが生成されることがあります。
受信通知(AS2 MDN)をAQに配信する際、Oracle B2Bでb2backuserではなくドキュメント・ルーティングID(アウトバウンド・ドキュメントにドキュメント・ルーティングIDが設定されている場合)にユーザー情報が誤って設定されます。
Oracle B2Bインタフェースの「アプリケーション・メッセージ」レポートに、ドキュメント・タイプが誤って表示されます。具体的には、「アプリケーション・メッセージ」レポートに次の情報が表示されます。
受信メッセージの場合、表示されるドキュメント・タイプはアウトバウンド・メッセージのものです。これは、特定のドキュメント・タイプに対するインバウンド・アプリケーション・メッセージの数に関するメトリック・データを収集する必要がある場合、問題となる可能性があります。この場合、この問題によって問合せで不正確なデータがレポートされる可能性があります。
FAメッセージの場合、表示されるドキュメント・タイプはFAメッセージ・タイプと同じです。
Sync AS2モードで、インバウンド・アグリーメントに設定されているAS2識別子が、生成されるMDNで使用されます。AS2識別子がアグリーメントに定義されていない場合、生成されるMDNで名前識別子が誤って使用されます。
回避方法は、所定のAS2識別子をインバウンド・アグリーメントに設定することです。
AS2で、受信者からの署名済MDNのリクエストで、署名に使用するアルゴリズムを指定できます。しかし、Oracle B2Bで、アグリーメント・デリバリ・チャネルに設定されているアルゴリズムを誤って使用してMDNに署名されます。このアルゴリズムは、リクエストされたアルゴリズムと異なる可能性があります。
Oracle B2Bインタフェースで、「管理」→「構成」→「バッチのスケジュール」画面のイベントを起動するデフォルト時間は、現在のサーバー時間より10分進んだ時間です。ただし、スケジューラを午後11時50分から午前0時の間に起動すると、このデフォルト時間設定が適切に機能しません。
(同一または異なるコンピュータ上の)2つのWebブラウザまたはWebブラウザ・ウィンドウでOracle B2Bを実行する場合、Oracle B2Bインタフェースの一方のインスタンスで実行されているアクションが、実行中の他方のインスタンスに自動的に反映されないことがあります。たとえば、Oracle B2Bインタフェースの一方のインタフェースでのメタデータのインポートが、他方のインスタンスに、ブラウザをリフレッシュしても反映されません。
Oracle B2Bインタフェースで別のタブをクリックして以前の画面に戻ると、情報が正しくリフレッシュされます。
AS2交換でEDIドキュメントを受信する場合、Oracle B2BでAS2の送信元識別子を使用した取引パートナの識別に失敗すると、Oracle B2BはEDI交換とグループIDを使用してパートナを識別しようとします。AS2識別子によるパートナの識別の失敗は無視されます。
SSLで送信されたAS2メッセージに応答してホスト・サーバーによって受信されたSync MDNで、ワイヤ・メッセージに誤ったURLが表示されます。具体的には、ポート情報はHTTPリスニング・ポートに対するものですが、URLはHTTPSプロトコルを示します。
無効なEDI交換ID修飾子または無効な機能グループ識別子(それぞれ、デフォルトのecs修飾子標準コードList_105または機能識別子コード標準コードList_479の一部でない)の設定は、アウトバウンドの場合MSG_ERRORとされません。かわりに、Oracle B2Bで、構成されているエンドポイントにメッセージがエラーなしで配信されます。
エラー(トランスポート・チャネルが使用できないなど)の後に再試行するようB2Bチャネルが構成されていて、その後メッセージが正常に配信されると、Oracle Enterprise Managerで対応するエラー数の調整に失敗します。
アグリーメントの検証時、保存されているデータがOracle B2Bで検証されます。アグリーメントに行った未保存の変更はOracle B2Bで検証されません。
クラスタ環境では、ノードが別のコンピュータ上にある場合、その2番目のノードにXEngineはインストールされません。これは、(2番目のノードで自動的に実行されない)構成ウィザードを実行した場合にのみXEngineの抽出が行われるためです。この問題を回避するには、XEngineの抽出を手動で実行します。XEngineの抽出後、サーバーを再起動する必要があります。
カスタム・ドキュメントの識別子フィールド(XPath式、値、開始位置、終了位置など)を変更する場合、変更を有効にするには、アグリーメントを再デプロイする前にドキュメント定義を参照するすべてのアグリーメントをリタイアおよびパージする必要があります。パージせずにアグリーメントを再デプロイした場合、識別子フィールドのメモリー内更新が確実でないことに注意してください。
Applicability Statement 2(AS2)交換プロトコルでバッチされたEDIメッセージを送信すると、確認(MDN)の受信後、1つのメッセージのみがMSG_COMPLETE状態に遷移します。他のすべてのメッセージはMSG_WAIT_ACK状態のままです。
Oracle B2Bで複数のメッセージを1つのメッセージにバッチする場合、各ビジネス・メッセージの本来のメッセージ・サイズをバッチ内のすべてのメッセージのサイズとしてシステムで記録します。これによって、Oracle B2Bインタフェースの「メトリック」ページに誤った平均メッセージ・サイズがレポートされます。
Oracle B2Bインタフェースの「管理」→「構成」ページを使用する場合、プロパティに値を入力して保存した後、プロパティ値をnullに変更できません。これを行うと、Oracle B2Bインタフェースで次のエラーになります。
The value must be of the following type: Type Name: non-empty-string Base Type: string Primitive Type: string With the following constraints: minimum length: 1 Value '' does not satisfy '' facet : minLength
また、このエラーが表示されると、「管理」→「構成」ページの他の値を更新できません。回避方法は、他のページに移動して「管理」→「構成」ページに戻り、必要に応じて値を更新することです。
Oracle WebLogic管理コンソールを使用してユーザーを削除した後、約5分間ユーザーがOracle B2Bインタフェースで表示され続けます。これは、ユーザーが構成できる期間の間、ユーザー情報が管理対象サーバー(Oracle B2B)でキャッシュされたままになるためです。このユーザーのプロビジョニングなど特定の操作を実行すると、エラーになります。
回避方法は、Oracle WebLogic管理コンソールを使用してユーザーを削除した後5分以上待つことです。
あるいは、setDomain.shファイルで次のシステム・プロパティを指定し、キャッシュを無効にします。
-Dweblogic.security.identityAssertionTTL=-1
バッチ・スケジュールを更新すると、バッチされたメッセージがOracle B2Bで取得されない場合があります。バッチされたメッセージが取得されない場合、バッチを削除し、以前のバッチと同じ名前で新規バッチ・スケジュールを作成します。Oracle B2BでWAIT_BATCH状態の以前のメッセージを取得できるよう同じ名前を使用する必要があります。
メッセージの処理中にインスタンス・メタデータをパージ(「管理」→「パージ」タブの「インスタンス・メタデータのパージ」ボタンを使用)しないでください。これを行うと、処理中のメッセージが失われる場合があります。かわりに、日付範囲とメッセージの状態を引数とするb2bpurge
コマンドライン・ユーティリティを使用します。b2bpurge
コマンドを使用すると、完了状態のメッセージのみが削除されます(これ以外の処理を行う理由が特にない場合)。
B2BMetadataWSPortのテスト・ページが「404 Not Found」エラーになります。回避方法は、リンクのURLのポート番号を、管理対象サーバー・ポートから管理サーバー・ポート(7001)に変更し、再試行することです。
プロパティcheckduplicateisacontrolnumber
は、このリリースでは使用できません。
クラスタ環境で、データのパージ、データのインポート、データのエクスポート、アグリーメントのデプロイおよびB2Bメタデータの検証にB2Bコマンドライン・ユーティリティを使用しないでください。これらの目的にはOracle B2Bインタフェースを使用します。
ebMSドキュメントの場合、復号化および署名の失敗に対する否定確認がセキュリティ重大度エラーとして送信されます。他のすべてのebMS否定確認で、エラーはUnknownErrorとして設定されます。
非同期AS2インバウンド・ワイヤ・メッセージの再発行が所定どおり機能しない場合があります。たとえば、インバウンド・アグリーメントの状態を非アクティブに変更します。メッセージを受信すると、否定確認が生成されて返送されます。否定確認の受信時、送信者側でメッセージ状態はMSG_ERRORです。アグリーメントの状態を非アクティブからアクティブに変更し、インバウンド側でこの問題を解決します。非同期メッセージの再発行には2つのシナリオがあります。
シナリオA: 送信側でワイヤ・メッセージを再発行。メッセージが受信側ですでに処理されているため、これによってエラー・メッセージが重複します。
シナリオB: 受信側でワイヤ・メッセージを再発行。これは受信者側で受け渡され、肯定確認メッセージがプッシュバックされます。ただし、送信者側のメッセージの状態は変更されません。シナリオAは想定されますが、シナリオBは機能する必要があります。ただし、メッセージの状態がMSG_ERRORであるため、着信肯定確認が無視されます。これによって、両者のレポートに矛盾が生じます。インバウンド側ではメッセージがバックエンドに正常に渡されますが、アウトバウンド側ではメッセージがMSG_ERROR状態です。
EDI X12バージョン5020は、このリリースではサポートされません。
Oracle B2Bインスタンス・データ・アクセスJava APIは、このリリースで使用できません。APIは今後のリリースで使用可能になる予定です。
事前定義のコールアウトXSLTCallout
は、このリリースでは使用できません。
次の点に注意してください。
Oracle B2Bオンライン・ヘルプを使用するには、ポップアップを許可します(ブラウザのポップアップ・ブロッカを無効にします)。
Oracle B2Bオンライン・ヘルプは、このリリースでは英語でのみ使用可能です。
目次および索引ペインの一部のリンクが、トピック・ペインで正しいセクションを表示しません。回避方法は、目次で最上位レベルの見出しの1つをクリックし、各トピックの最初にある内部リンクを使用してトピック内を移動することです。リンクが機能しない場合、検索機能を使用して索引用語を検索します。
データベースの負荷とアプリケーション・サーバーの負荷に基づいて、Oracle Weblogic管理コンソールでトランザクション・タイムアウト設定をチューニングします。ホームページから「JTA」を選択し、デフォルト設定の30を、これより大きい値にします。
大きなペイロードをエンキューする場合、enqueue.properties
ファイルで次のプロパティを設定します。
payload=payload_filename_with_absolute_path
eventName=LARGE_PAYLOAD=true
フル・ディレクトリ・パスを指定する必要があるため、この操作にはローカル・コンピュータを使用します。
「JMSキューの使用」フラグを有効にすると、B2Bですべてのインバウンド・メッセージをJMSキューB2B_IN_QUEUE
に送信し始めます。ただし、ランタイム・メッセージの失敗に対するエラー通知は、「JMSキューの使用」フラグが有効の場合でも、IP_IN_QUEUE
に送信され続けます。
Oracle B2Bインタフェースの「管理」→「構成」タブでフラグ「JMSキューの使用」を「true」に設定してB2BでのJMSキューの使用を有効にした場合、SOAサーバーを再起動する必要があります。
着信RosettaNetメッセージの処理が失敗すると、規格に従って例外シグナルがパートナに返送されるはずですが、返送されません。
CONTRLメッセージに複数のドキュメント・タイプが含まれ、1つのドキュメントがエラーの場合、1つのORDERSメッセージがMSG_WAIT_FA
状態のままになります。
次の例について検討します。
次を含むバッチがAcmeからGlobalChipsに送信されます。
ORDERS
ORDRSP
ORDERS(重複GUID)
ORDERS(新規GUID)
想定どおり1つのORDERSメッセージがMSG_ERROR
状態でアウトバウンド・メッセージが送信されます。他のメッセージはMSG_WAIT_FA
状態です。インバウンドFA(CONTRL)は、1つのORDERSと1つのORDRSPメッセージの状態を更新するのみです。この結果、1つのORDERSメッセージがMSG_WAIT_FA
のままになります。
暗黙的SSL暗号化は、トランスポート・レイヤーでサポートされていません。
ファイル、FTPおよびSFTPトランスポート・プロトコルで使用された場合、%ACTIONNAME%
ファイル名形式は認識されません。
Oracle B2Bでは、UTF-16でエンコードされたインバウンドRosettaNetメッセージを処理できません。「ドキュメント・プロトコル識別エラー」になります。
インバウンド・アグリーメントに対するRosettaNetデリバリ・チャネル・セキュリティ設定は、次のように設定する必要があります。
署名なし受信確認メッセージを返送する場合、「メッセージ署名済」と「確認署名済」の両方をfalseに設定します(ボックスを選択しません)。
署名済受信確認メッセージを返送する場合、「メッセージ署名済」と「確認署名済」の両方をtrueに設定します(ボックスを選択します)。必要に応じて、署名アルゴリズムと証明書エイリアスを選択します。
アグリーメントをデプロイする前に、自動生成アグリーメントを最低1回保存します。変換/検証およびFAに対するアグリーメント・パラメータ設定は、自動生成時ではなくアグリーメントの保存時にのみアグリーメントに生成されます。インタフェースにデフォルト値が表示されますが、これらはアグリーメント・メタデータで取得されず、実行時に無視されます。つまり、インバウンドEDIメッセージが変換されない可能性があります。
ホスト名と永続接続を使用してMinimum Lower Layer Protocol(MLLP)クライアント・デリバリ・チャネルを作成する場合、進行中のメッセージでサーバーへの接続を確立すると、永続デリバリ・チャネルが非常駐になります。回避方法は、クライアントMLLPデリバリ・チャネルの作成時、ホスト名ではなくIPアドレスを使用することです。ただし、(クライアント・チャネルでの接続の確立を許可し)接続が事前確立されている場合、接続は永続接続として機能します。
必要なパッチについては、3.1.1項「特定のアップグレードおよび互換性の要件に対処するためのパッチ」を参照してください。
Oracle B2Bドキュメント・エディタで作成されたecsファイルは、位置フラット・ファイル・ドキュメント・タイプで変換に使用できません。つまり、位置フラット・ファイル・ドキュメント・タイプはこのリリースで使用できません。次のリリースで使用可能になる予定です。
「リスニング・チャネル」タブで、プロトコルの選択に基づいて「チャネルの詳細」領域に表示されるパラメータ・フィールドの一部が、そのプロトコルと無関係です。これらのパラメータに値を入力しても効果はありません。表15-1に、関係ないパラメータ・フィールドをリストします。
表15-1 表示されるが、選択したプロトコルと無関係のフィールド
選択したプロトコル | 無視できるパラメータ・フィールド |
---|---|
AS1-1.0 |
「件名」、「添付ファイルとして送信」、「確認モード」、「レスポンス・モード」、「再試行数」、「再試行間隔」、「セキュリティ」タブのすべてのフィールド |
汎用ファイル-1.0 |
「再試行数」、「再試行間隔」 |
汎用AQ-1.0 |
「再試行数」、「再試行間隔」 |
汎用FTP-1.0 |
「プロキシの使用」、「再試行数」、「再試行間隔」 |
汎用SFTP-1.0 |
「再試行数」、「再試行間隔」 |
汎用JMS-1.0 |
「再試行数」、「再試行間隔」 |
汎用電子メール-1.0 |
「件名」、「添付ファイルとして送信」、「再試行数」、「再試行間隔」 |
詳細は、15.3.6項「一部のパラメータはリスニング・チャネル用に記載されない」を参照してください。
B2B構成ウィザードでアプリケーション・サーバー接続を切り替えると、Oracle JDeveloperがハングします。回避方法は、JDeveloperを再起動することです。
リスニング・チャネルの汎用FTP-1.0プロトコルには、プロキシ・サポートがありません。
b2bpurge
コマンドライン・ユーティリティを使用する場合、非アクティブなチャネルがあると、それらのリスニング・スレッドが終了しません。回避方法は、非アクティブ・チャネルのリスニング・スレッドが終了するまでb2bpurge
コールを2、3回繰り返すことです。
B2Bインタフェースで(JSPコンパイルが不適切なため)メソッドが見つからないというエラーが表示された場合、次の回避方法を使用してインタフェースJSPファイルを再コンパイルします。
Fusion Middlewareホームに移動します。
_tpagreement_jspx.class
の場所を検索し、同じディレクトリ内のすべてのB2BインタフェースJSPクラス・ファイルを削除します。
管理サーバーの場合、ディレクトリは通常次のようになります。
FMWHOME/user_projects/domains/domain_name/servers/server_name/tmp/tmp_directory_name/b2bui/WEB-INF/classes/jsp_servlet
管理対象サーバーの場合、ディレクトリは通常次のようになります。
FMWHOME/user_projects/domains/domain_name/servers/server_name/tmp/user_name/b2bui/id/jsp_servlet
クラスタ環境の各サーバーを含むすべてのサーバーを再起動します。
JSPコンパイルによってB2Bインタフェースへのアクセスに最初時間がかかる場合があります。
Oracle JDeveloperでB2B構成ウィザードを使用する場合、「アプリケーション・サーバー接続」ページの「SOA HTTPポート」フィールドにHTTPSポートを使用できません。
エクスポートするアグリーメントを複数(「管理」→「インポート/エクスポート」から)選択し、それらのアグリーメント名のいずれかがマルチバイト・キャラクタ言語の場合、アグリーメントごとに異なるZIPファイルを含むエクスポートZIPファイルで、マルチバイト・キャラクタのアグリーメント名のZIPファイル名が文字化けします。文字化けした名前のZIPファイルは破損しており、正常にインポートできません。ただし、マルチバイト・キャラクタ言語での単一アグリーメント名(またはリポジトリ名)は正常にエクスポートされます。
確認モード・パラメータが非同期に設定されたebMS交換を使用するインバウンド・アグリーメントには、ebMSデリバリ・チャネルが必要です。
通常デフォルト・ログ・レベルでは、ログ・ファイルに詳細は出力されません。ただし、RosettaNetデプロイの場合、デフォルト・ログ・レベル設定でもログの詳細は非表示になりません。
取引パートナにカスタム・アイコン(PNGイメージ・ファイル)を使用し、リポジトリ全体をエクスポートすると、アイコンのイメージ・ファイルがエクスポートされた構成(ZIPファイル)に含まれます。しかし、ZIPファイルを別のB2Bサーバーにインポートすると、取引パートナのカスタム・アイコンがB2Bインタフェースに表示されません。
回避方法は、次のとおりです。
取引パートナのイメージ・ファイルをimages
ディレクトリからimages\tpIcons
ディレクトリに移動します。
images
ディレクトリはb2bui
ディレクトリにあります。たとえば、ディレクトリ・パスは次のようになります。
DOMAIN_HOME\servers\soa_server1\tmp\_WL_user\b2bui\xov2md\b2bui\images
PNGイメージ・ファイルの名前を変更し、先頭にある文字列tpIcons
を削除します。
ディレクトリ名がイメージ・ファイル名に追加されます。イメージ・ファイル名を保持するには、先頭にあるディレクトリ名を削除します。たとえば、元々のイメージ・ファイル名がTP_ICON_tp_dGL-8506012758410451620_mobile.png
の場合、移動後、tpIconsTP_ICON_tp_dGL-8506012758410451620_mobile.png
を元々のファイル名であるTP_ICON_tp_dGL-8506012758410451620_mobile.png
に変更します。
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
ファイルが使用されます。
HL7_2.3.1_ ADT_A01 XMLドキュメントのa01.xml
ペイロードにマルチバイト・キャラクタが含まれる場合、マルチバイト・キャラクタをサポートするには、ペイロードのMSH.18要素を<MSH.18>ASCII<MSH.18>
から<MSH.18>UNICODE</MSH.18>
に変更する必要があります。UNICODE
値が含まれていない場合、使用可能なキャラクタ・セットにリストされていない文字がサブコンポーネントPID5-1-1(ファミリ名)に含まれているというエラーが表示されます。user.cs
を作成し、マルチバイト・キャラクタを含むよう変更する必要もあります。詳細は、15.1.62項「EDIFACTおよびHL7ドキュメントに対するマルチバイト・サポートの有効化」を参照してください。
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を起動します。
この項では、構成の問題および回避方法について説明します。内容は次のとおりです。
HL7ファイル/バッチ・ヘッダー・エンベロープ・サポートは、HL7バージョン2.6用にシードされたecsファイルから直接使用できません。ただし、回避方法として、ドキュメント・プロトコル・バージョンを作成する際、ファイル/バッチ・ヘッダーecsファイルをオーバーライドできます。このリリースでは、HL7バッチおよびファイル・エンベロープはサポートされていますが、バッチングはサポートされていないことに注意してください。
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より大きい値にすることです。
多数のメッセージの処理時に起こる可能性のあるエラー状態を避けるために、本番環境のデフォルト表領域構成を大きくします。
アグリーメントの参照検証時に無視するエンベロープ要素をカンマで区切って指定できます。エンベロープ要素での検証の無視に指定できる値は、アグリーメントに使用されている識別子によって異なります。たとえば、HL7アグリーメントの場合、MessageSendingApp、MessageReceivingApp、MessageSendingFacility、MessageReceivingFacilityを指定できます。
EDIアグリーメントの場合、可能な値は、InterchangeSenderID、InterchangeReceiverID、GroupReceiverID、GroupSenderID、TransactionAssociationAssignedCode、InterchangeReceiverQual、InterchangeSenderQual、InterchangeControlVersionです。
「エンベロープ要素での検証を無視」設定の変更で、変更を有効にするには、Oracle B2Bサーバーの再起動が必要です。
これらのパラメータは次のように使用します。
JMSキューの使用
このオプションをtrueに設定すると、次のようになります。
アウトバウンド・メッセージの場合、B2BでB2B_OUT_QUEUE
およびIP_OUT_QUEUE
のポーリングを開始します。
インバウンド・メッセージはB2B_IN_QUEUE
のみに配信され、IP_IN_QUEUE
には配信されません。
このオプションをfalseに設定すると、次のようになります。
アウトバウンド・メッセージの場合、B2BでIP_OUT_QUEUE
のみポーリングします。
インバウンド・メッセージはIP_IN_QUEUE
に配信されます。
B2Bキューの使用
この設定は使用しないでください。「JMSキューの使用」をfalseに設定すると、インバウンド・メッセージがIP_IN_QUEUE
に配信されます。
Oracle B2Bインタフェースの「自動検索の有効化」パラメータ(「管理タスク」→「構成」ページ)は、このリリースでは機能しません。
oracle.soa.b2b.repository
をトレースするようログ・レベルが設定されている場合、B2Bによって受信されるペイロードは、サーバーのdiagnostic.log
ファイルにプレーン・テキストで記録されます。
高可用性環境で次のデフォルト値がプロパティに設定されると、クラスタ内のノード全体にB2B MDS通知が発生します。
ExternalChangeDetection=true ExternalChangeDetectionInterval=30
これらのデフォルト値はOracle Enterprise Manager 11g Fusion Middleware Controlで更新できません。
この項では、ドキュメントの訂正箇所を示します。内容は次のとおりです。
『Oracle Fusion Middleware User's Guide for Oracle B2B』の表5-3の「再試行間隔」パラメータの説明には誤りがあり、次のように読み替える必要があります。
これは、B2Bがメッセージの再送信を試行するまでの間隔を分で指定するものです。メッセージのステータスが完了でない場合、B2Bはメッセージの再送信を試行します。2分に設定された再試行間隔の場合、最初の再試行は120秒(2分)間隔ではないことがあります。これは、最初の再試行は、メッセージが送信された秒を考慮せずに行われるためです。たとえば、送信タイムスタンプが3:42:58(3時42分58秒)の場合、42分が2分増分されて3:44:00に最初の再試行が行われます。後続の再試行は、3:46:00、3:48:00のように厳密に2分の間隔で続きます。
『Oracle Fusion Middleware User's Guide for Oracle B2B』の付録AのJTA設定の説明に誤りがあります。本来は、350秒までの設定とは記載しません。推奨される設定は90で、必要に応じてそれより大きい値にします。
『Oracle Fusion Middleware User's Guide for Oracle B2B』の付録Bのb2b.outboundOneErrorAllError
パラメータの説明に、太字のイタリック体で示す次の変更が必要です。
b2b.outboundOneErrorAllError
パラメータを使用する場合、インバウンド・メッセージはb2b.outboundOneErrorAllError
がfalseに設定されている場合と同様に処理されます。つまり、インバウンド・メッセージの処理時にエラーが起こると、そのメッセージのみにエラーのフラグが設定され、他のメッセージは受け渡されます。各メッセージに失敗のフラグを設定するオプションはありません。
アウトバウンド・メッセージの場合、b2b.outboundOneErrorAllError
はtrueにもfalseにも設定できます。デフォルトはfalseです。パラメータをtrueに設定すると、アウトバウンド・メッセージの場合、1つのメッセージがエラーの場合でもすべてのアウトバウンド・バッチ・メッセージがエラー状態に設定されます。バッチされたメッセージは取引パートナに送信されません。
OneErrorAllErrorパラメータを設定するには、次のいずれかの方法を使用します。
b2b-config.xml
に次のプロパティを追加します。
<property> <name>b2b.outboundOneErrorAllError</name> <value>true</value> <comment>error all outbound batch messages on one error</comment> </property>
Oracle Enterprise Manager Fusion Middleware ControlでシステムMBeanブラウザを使用してb2b MBeanにプロパティを追加します。システムMBeanブラウザへのアクセス方法の詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。
『Oracle Fusion Middleware User's Guide for Oracle B2B』の表5-3および表14-3のポーリング間隔パラメータの説明に、時間間隔がミリ秒であると記載されています。これは間違っています。時間間隔は秒です。説明を次のように読み替えます。
インバウンド・メッセージについてOracle B2Bでサーバーをポーリングする時間間隔(秒)
『Oracle Fusion Middleware User's Guide for Oracle B2B』の付録Bの機能確認用の内部プロパティの設定に関する項で、次の文に誤りがあります。
B2Bによって生成される997メッセージのISAセグメント要素(1〜4)が、受信される850またはその他のトランザクション・メッセージと同一になるようにするには、プロパティFAInternalProperties
をtrue
に設定します。
正しい説明は次のとおりです。
FAInternalProperties
をtrue
に設定すると、デフォルトではISAセグメント要素(1〜4)はマップされません。デフォルトでは、生成されるFAで送信者から受信者およびその逆に交換およびグループIDがスワップされるのみです。テスト使用量インジケータ・パラメータもマップされます。つまり、テスト・メッセージと設定されているインバウンド・メッセージで、フラグがテスト・メッセージと設定されたFAが生成されます。
『Oracle Fusion Middleware User's Guide for Oracle B2B』の表14-3に表15-2にリストしたパラメータが誤って含まれています。これらのパラメータは、リスニング・チャネルとは関係ありません。また、表14-3の「プロキシの使用」パラメータに、このパラメータが汎用FTP-1.0プロトコルで使用されると誤って記載されています。「プロキシの使用」は汎用SFTP-1.0プロトコルでのみ使用されます。
表15-2 リスニング・チャネルと無関係のパラメータ
プロトコル/パラメータ | 説明 | 対象プロトコル |
---|---|---|
添付ファイルとして送信 |
有効の場合、ペイロードがメッセージ本文である通常の配信ではなく、電子メール添付としてメッセージ(ペイロード)が送信されます。 |
AS1(オプション) 電子メール(オプション) |
件名 |
電子メール・メッセージの件名ヘッダー。 |
AS1(オプション) 電子メール(オプション) |
確認モード |
取引パートナがメッセージを受信するモードとして「同期」、「非同期」または「なし」を選択します。すべての汎用交換に「なし」を選択します。 |
AS1(オプション) |
レスポンス・モード |
「同期」、「非同期」または「なし」を選択します。 |
AS1(必須) |
再試行数 |
Oracle B2Bでメッセージの送信を再試行する回数。 |
AS1(オプション) ファイル(オプション) AQ(オプション) FTP(オプション) SFTP(オプション) JMS(オプション) 電子メール(オプション) |
再試行間隔 |
Oracle B2Bでメッセージの再送信を試行する時間間隔(秒)。時間間隔が2分の場合、HH:MM:SSタイムスタンプは次のように増分されます。送信タイムスタンプが3:42:58とすると、42が2分増分されて3:44:00に再試行が送信されます。再試行の増分では秒が無視されます。後続の再試行は2分間隔で行われます。 確認のプロトコルの場合、B2Bは確認を待ちます(以前は確認所要時間と呼ばれていました)。受信されないと、再試行間隔の設定によってB2Bで再試行されます。 |
AS1(オプション) ファイル(オプション) AQ(オプション) FTP(オプション) SFTP(オプション) JMS(オプション) 電子メール(オプション) |
セキュリティ・パラメータ |
- |
- |
確認署名済 |
応答者がメッセージの受信を確認するようにするには、このオプションを選択します。何も指定する必要はありません。 |
AS1 |
デジタル署名 |
「メッセージ署名済」が選択されている場合、次のいずれかを選択します。 SMIME 3.0 with MD5 - RSA SMIME 3.0 with SHA1 - RSA |
AS1 |
暗号化 |
「メッセージ暗号化済」が選択されている場合、次のいずれかを選択します。 SMIME 3.0 with DES SMIME 3.0 with 3DES SMIME 3.0 with RC2 - 40 SMIME 3.0 with RC2 - 64 SMIME 3.0 with RC2 - 128 |
AS1 |
メッセージ暗号化済 |
メッセージの暗号化を許可にするには、このオプションを選択します。このオプションでは、「暗号化」フィールドで暗号化スキーマを選択する必要があります。 |
AS1 |
メッセージ署名済 |
「デジタル署名」フィールドでデジタル署名のいずれかを指定するには、このオプションを選択します。 |
AS1 |
関連情報として、15.1.52項「一部のリスニング・チャネルの詳細が選択したプロトコルと無関係」を参照してください。
『Oracle Fusion Middleware User's Guide for Oracle B2B』のOracle B2Bのセキュリティ機能に関する項の注意に誤りがあります。
正しい説明は次のとおりです。
注意: Oracle B2Bランタイムでは、CLIENT-CERT認証方法がサポートされません。このため、B2BはOAM-SSO保護されたURLにポストできません。 |
次の情報が『Oracle Fusion Middleware User's Guide for Oracle B2B』で省略されています。
アウトバウンド・アグリーメントでは、次の識別子タイプをこれらの交換プロトコルで使用する必要があります。
交換プロトコル | 識別子タイプ |
---|---|
汎用ファイル-1.0 | 名前 |
汎用FTP-1.0 | 名前 |
汎用SFTP-1.0 | 名前 |
汎用AQ-1.0 | 名前 |
汎用JMS-1.0 | 名前 |
AS2-1.1 | 名前、AS2識別子 |
AS1-1.0 | 名前、AS1識別子 |
ebMS-1.0、ebMS-2.0 | 名前、ebMS識別子 |
RosettaNet-V02.00、RosettaNet-01.10 | 名前、DUNS |
MLLP交換 | 名前、MLLP ID |
汎用HTTP-1.0 | 名前、汎用識別子 |
汎用電子メール-1.0 | 名前、汎用識別子 |
『Oracle Fusion Middleware User's Guide for Oracle B2B』の次の訂正に注意してください。
テキストの誤った繰返し
第5章「取引パートナの構成」に次のエラー(イタリック体)があります。
For information on creating a document definition—required before you can you can add it to the trading partner profile—see Chapter 4, "Creating Document Definitions."
訂正(イタリック体)は次のとおりです。
For information on creating a document definition—required before you can add it to the trading partner profile—see Chapter 4, "Creating Document Definitions."
プレビュー・モードを表すためのJMSからJMS*への変更
Oracle B2Bでサポートされるプロトコルに関する表で、JMSをアスタリスク付きのJMS*にし、このリリースではプレビュー・モードであることを示す必要があります。
Secure Socket Layer
第1章のOracle B2Bのセキュリティ機能に関する項で、セキュア・ソケット・レイヤーはSecure Socket Layerとする必要があります。
ポート情報を検索するためのディレクトリ・パス
第2章「Oracle B2Bの開始」の次のパスは誤っています。
FMW_HOME/user_projects/domains/your_domain_name/config/config.xml
正しいディレクトリ・パスは次のとおりです。
MW_HOME/user_projects/domains/your_domain_name/config/config.xml
『Oracle Fusion Middleware User's Guide for Oracle B2B』の第3章のガイドライン・ファイルの作成(EDIFACT D98の例)に関する項で、ステップ5に、標準以外が必要な場合にオプションを選択すると誤って記載されています。これは間違っています。トランザクションとともに交換エンベロープを選択すると、インバウンド・メッセージの場合検証エラーになります。デフォルトが事前シードされているエンベロープ情報をオーバーライドするには、必要なエンベロープ情報のみを使用して(トランザクション詳細を使用せずに)別のecsファイルを作成し、ドキュメント・バージョンで使用可能なエンベロープ・オーバーライド・オプションを使用してアップロードします。
『Oracle Fusion Middleware User's Guide for Oracle B2B』の付録Aの注意に次の情報を含める必要があります。
大きなペイロードの利用にエンキュー・スクリプトを使用する場合、次の追加をします。
eventName=LARGE_PAYLOAD=true
Oracle JDeveloperのB2B構成ウィザードで「アプリケーション・サーバー接続」ページの「SOA HTTPポート」にカーソルを置いたときにポップアップする説明テキスト(ツールチップ)で、誤ってプロパティsoa.oc4j.http-web-siteに言及しています。「SOA HTTPポート」の正しい説明は次のとおりです。
アプリケーション・サーバーのHTTPポート番号。