このトピックでは、BizTalk Server の EDI 状態レポートに関する既知の問題について説明します。
パートナー契約マネージャーの外部でバッチ オーケストレーションが停止されている場合、バッチ状態レポート データが更新されない場合があります
バッチ オーケストレーション インスタンスは、パーティの [EDI のプロパティ] ダイアログ ボックスの [バッチ] ページを使用して非アクティブ化できます。 このようにバッチ オーケストレーション インスタンスを非アクティブ化すると、BizTalk Server はそのバッチの状態レポート データを更新します。 ただし、BizTalk Server 管理コンソールの [グループの概要] ページにあるクエリ ページのいずれかからオーケストレーションを停止するなど、別の方法でバッチ オーケストレーションを停止した場合、状態レポート データが更新されず、バッチ状態レポートが古くなっている可能性があります。 たとえば、状態レポートは、バッチ オーケストレーション インスタンスが非アクティブになっている場合でも、バッチがまだアクティブであることを示している可能性があります。
EDI 状態レポートが有効になった後、BizTalk サービスを再起動する必要がある
症状:
EDI 状態レポートは有効になっていますが、EDI 状態レポートは生成されていません。
考えられる原因
変更を有効にするには、EDI 状態レポートがアクティブ化または非アクティブ化された後、BizTalk サービスを再起動する必要があります。 ソリューションで AS2EdiReceive または AS2EdiSend パイプラインが使用されている場合は、変更を有効にするために BizTalk サービスと IIS サービスの両方を再起動する必要があります。
解決策
BizTalk サービスを再起動します ([コンピューターの管理] ダイアログ ボックス)。 AS2EdiReceive パイプラインまたは AS2EdiSend パイプラインがソリューションで使用されている場合は、IIS 管理サービス ( iisreset コマンドを使用) も再起動します。
注
AS2 状態レポートを有効にする場合、BizTalk サービスまたは IIS 管理サービスを再起動する必要はありません。
メッセージ内の AS2 メッセージ日時が NULL である場合、状態レポートに「年 9999」が表示されます。
受信 AS2 メッセージの AS2 メッセージ日時フィールドが Null に設定されている場合、AS2 ステータス レポートのそのメッセージの AS2 メッセージ日付時刻フィールドに、その年の値 "9999" が表示されます。
受信 AS2 メッセージの AS2 メッセージ日時フィールドを解析できない場合 (2007 年 5 月 21 日 10:08:28 NZST など)、AS2 ステータス レポートのそのメッセージの AS2 メッセージ日時フィールドは現在の時刻に設定されます。
BAM ツールがアンインストールされた後も状態レポートが構成されている
EDI 状態レポートをインストールするには、BAM ツールをインストールする必要があります。 ただし、BAM ツールをアンインストールしても、状態レポートは引き続き構成されます。 これは仕様です。
BAM ツールが削除されると、ユーザー インターフェイスを使用して状態レポート テーブルを検索できなくなります。 ただし、状態レポートが有効になっている場合でも、BizTalk Server は状態レポート テーブルにレコードを作成します。
状態レポート UI の AS2 メッセージに関連付けられる EDI インターチェンジは 1 つだけです
AS2 メッセージに複数の EDI インターチェンジが含まれており、AS2 メッセージに複数の EDI インターチェンジの状態を表示しようとすると、最後の EDI インターチェンジのみがインターチェンジ/ACK 状態レポートに表示されます。 さらに、AS2/MDN 状態レポートの EDI インターチェンジ制御番号 フィールドには、最後のインターチェンジ制御番号のみが表示されます。 (インターチェンジ制御番号は、AS2 メッセージとその EDI インターチェンジ ペイロードを関連付ける。
AS2 メッセージ内のすべての EDI インターチェンジのデータは、状態レポート データベースに保存されます。 制御 ID Equals All 句が状態レポートクエリである場合、インターチェンジ/ACK 状態レポートにおいて、AS2メッセージ内のすべてのインターチェンジを表示できます。 AS2 メッセージに含まれていない他のインターチェンジも表示される可能性があります。ただし、送信者パーティ、受信側、インターチェンジの日付時刻など、他のフィールドを調べることで、1 つの AS2 メッセージに含まれる EDI インターチェンジを特定できます。
グループから BAM ツールを削除すると、EDI または AS2 状態レポートを表示できなくなります
BAM ツールをグループから削除すると、EDI または AS2 状態レポートを表示しようとするとエラーが発生します。 このようなエラーの 1 つは、bts_GetBatchStatusRecordsストアド プロシージャが見つからないことを示します。 EDI または AS2 状態レポートを表示しようとしたときにエラーが発生した場合は、グループ、ランタイム、および BAM ツールが EDI および AS2 用に正しく構成されていることを確認します。
BAM ツールを単に削除するのではなく、構成を解除すると、この問題を回避できます。 BAM ツールの構成を解除すると、依存する EDI/AS2 機能の構成を解除するように求められます。 BAM ツールを削除しても、この操作を求めるメッセージは表示されません。
BAM ツールが構成されていない場合、アップグレード後に状態レポートが機能しない
EDI および AS2 状態レポートを機能させるには、BAM ツールを構成する必要があります。 BizTalk Server 2006 のインストールを以降のバージョンにアップグレードし、アップグレード プロセスで BAM ツールを構成しない場合、アップグレードされたインストールの EDI/AS2 状態レポート機能は正しく機能しません。
BizTalk Server にアップグレードした後に状態レポートを使用する場合は、アップグレードを実行する前に BAM ツールが構成されていることを確認してください。
アップグレードの実行後に状態レポートが機能しない場合は、アップグレードの前に BAM ツールが構成されているかどうかをアップグレード ログで確認します。 構成されていない場合は、BAM ツールを構成し、EdiStatusReportingActivityDefs.xml ファイルに含まれる BusinessMessageJournal BAM アクティビティを <drive>:\Program Files\Microsoft BizTalk Server に展開できます。
トランザクション セット ストレージを無効にすると、アクティブ化されたバッチに影響しますが、ストレージを有効にしても影響しません。
バッチ処理オーケストレーションのインスタンスがアクティブ化されている間にトランザクション セットのストレージを無効にすると、変更はすぐに行われます。 BizTalk Server は、ストレージが有効になっている間はバッチのトランザクション セットを格納しますが、ストレージが無効になった後はトランザクション セットを格納しません。 トランザクション セットのストレージを無効にするには、[EDI プロパティ] ダイアログ ボックスの [全般] ウィンドウで [レポート用のトランザクション セット/ペイロードを格納する] プロパティをオフにします。
ただし、トランザクション セットのストレージが無効になっているときにバッチ処理オーケストレーションのインスタンスをアクティブ化し、そのストレージを有効にした場合、作成されるバッチに対してトランザクション セットは格納されません。
UNICODE AS2 メッセージがテキスト ワイヤ形式で完全に表示されない
BizTalk Server が、UNICODE 形式でエンコードされた AS2 メッセージまたは MDN を処理し、テキスト ワイヤ形式でメッセージを表示しようとすると、BizTalk Server はメッセージを完全に表示しません。 これは、UNICODE 形式の "00" バイトがストリームの末尾として解釈されるために発生します。 ただし、バイナリ ワイヤ形式でメッセージを表示しようとすると、BizTalk Server によってメッセージが完全に表示されます。
これは、AS2 メッセージの状態レポートがアクティブ化されている場合 ([AS2 プロパティ] ダイアログ ボックスの [全般] ウィンドウで)、受信または送信の AS2 または MDN メッセージの保存が有効になっている場合 ([AS2 メッセージ受信者] ウィンドウまたは [AS2 プロパティ] ダイアログ ボックスの [パーティ as AS2 Message Sender] ウィンドウで) 発生します。
AS2 状態レポートを有効にし、ポート本文の追跡を同時に送信すると、エラーが発生する可能性があります
AS2 状態レポートを有効にし、ポート本文の追跡を同時に送信すると、イベント ビューアーに "メッセージング エンジンで 1 つ以上のメッセージの削除中にエラーが発生しました" というエラーが表示されることがあります。これは、送信ポートが AS2Send および AS2Receive パイプラインを含む静的な要請応答 AS2 送信ポートである場合に発生します。 これは、次のプロパティが有効になっている場合に発生します。
[AS2 プロパティ] ダイアログ ボックスの [全般] ウィンドウの [AS2 レポートのアクティブ化] プロパティ。
[AS2 プロパティ] ダイアログ ボックスの [Party as AS2 メッセージ受信者] パネルの [否認不可データベースに送信済みエンコードされた AS2 メッセージを格納する] プロパティ。
[送信ポートのプロパティ] ダイアログ ボックスの [追跡] ウィンドウの [ポート処理後にメッセージを要求する] プロパティ。
この問題の回避策は、"非否認データベースに送信エンコードされた AS2 メッセージを格納する" プロパティまたは "ポート処理後にメッセージを要求する" プロパティをクリアすることです。 AS2トラッキングがAS2ステータスレポートのために、本文情報と他の詳細をキャプチャできるようにするために、「ポート処理後の要求メッセージ」を無効にすることを推奨します。
BizTalk 2009 にアップグレードした後は、EDI および AS2 メッセージ コンテキストのプロパティを使用できません
BizTalk Server にアップグレードした後、アップグレードが発生する前に受信した EDI または AS2 メッセージの状態レポートにコンテキスト プロパティは表示されません。 アップグレード後に受信したメッセージには、コンテキスト プロパティが正しく表示されます。
EDI および AS2 コンテキスト プロパティ コレクションは、以前のバージョンの BizTalk Server ではメッセージの一部として格納されず、アップグレード後は使用できません。 BizTalk Server にアップグレードすると、AS2 コンテキスト プロパティはメッセージの一部として格納されますが、EDI コンテキスト プロパティは格納されません。
受信したドキュメントのインターチェンジの日付が、状態レポートに間違った年を表示する可能性がある
受信したドキュメントで日付が YYMMDD 形式で指定されている場合、BizTalk Server は次のロジックを使用して年の値を決定します。
YY が 75 以上の場合、年は 19YY として表示されます。
YY が 75 未満の場合、年は 20YY として表示されます。
たとえば、受信メッセージの ISA09 の値に991113が含まれている場合、状態レポートには日付が 1999 年 11 月 13 日として表示されます。
エラー メッセージは疑問符の文字列として表示される場合があります。
BizTalk Server のローカライズされたビルドでは、エラー メッセージが疑問符の文字列として表示される場合、予期されるエラー メッセージを取得するには、オペレーティング システム言語に従ってシステム ロケールを変更する必要があります。 具体的な手順はオペレーティング システム (OS) によって異なりますが、次の手順は OS と似ている場合があります。
- コントロール パネル>クロックとリージョン>Region に移動します。
- 管理 タブ>Unicode 以外のプログラムの言語>システム ロケールを変更を選択します。
- 言語 >OK>OK を選択して変更を保存します。