一般的なエラー
ここでは、BizTalk マッパーを使用してマップを作成しているときによく発生するエラー メッセージを示します。
マップでデータベース 値抽出機能 functoid を使用して日付フィールドを抽出すると、ドキュメントが送信ドキュメント定義に対する検証に失敗する可能性があります。 BizTalk Serverイベント ログに次のような検証エラーが記録される場合があります。
イベント ソース: BizTalk Server
イベント カテゴリ: ドキュメント処理
イベント ID: 324
説明:
BizTalk Server でエラーが発生しました。
詳細:
------------------------------
XML ドキュメントの検証に失敗しました。日付データ型として '10/12/1995' を解析中にエラーが発生しました。
保留キュー ID: "{A1127909-CA36-4359-B672-7CBA8B60BDAF}"
(データ ソースから返された) 日付形式が、XML で規定されている ISO 8601 形式ではありません。
この問題を解決するには、次のいずれかを実行します。
送信ドキュメント定義を編集して、date データ型ではなく string データ型を使用します。
データベース値抽出 functoid の出力を ISO 8601 形式に変換するカスタム MicrosoftVisual Basic Script Functoid を作成します。
大きなスキーマ、マップ、またはオーケストレーションで構成された単一の BizTalk プロジェクトをコンパイルした場合、次のようなエラーが発生する可能性があります。
内部コンパイラ エラー (アドレス 53624FD6 で0xc0000005): 原因は "CODEGEN" である可能性があります。
Visual Studio コンパイラには、1 つのプロジェクト内のすべての文字列の合計サイズに対して 16 メガバイトの制限があります。 BizTalk プロジェクトをコンパイルしている間、コンパイラはアセンブリ作成のスキーマ、マップ、およびオーケストレーションをシリアル化し、これによってすべての文字列の合計サイズが増加し、制限を超える可能性があります。
この問題を解決するには、スキーマまたはマップを個別の BizTalk プロジェクトに分離します。
BizTalk プロジェクトで、 System.btm または Microsoft.btm というファイル名でマップを作成 します。 プロジェクトをビルドすると、BizTalk マッパーが次のようなエラーを生成します。
"型名 'SerializableAttribute' が存在しません..."
"型名 'NonSerializableAttribute' が存在しません..."
"型名 'SerializableAttributeAttribute' が存在しません..."
"型名 'XLANs' が存在しません..."
[プロパティ] グリッドの [型名] には、System、Microsoft などの予約済みの .NET 名前空間を含めないようにする必要があります。
この問題を解決するには、次のいずれかの対処方法を使用できます。
マップの名前を、.NET の予約語ではない文字列に変更します。 既定では、BizTalk プロジェクト システムは、それぞれの成果物の名前から 型名 を作成します。
たとえば、 Map1.btm という名前の新しいマップを作成すると、 Type Name プロパティの値が Map1 に設定されます。 ただし、既存の BizTalk 成果物の名前を変更しても 、型名は変更されません。
BizTalk プロジェクトのアイテムのファイル名が .NET の予約された名前空間ではないことを確認してください。
BizTalk プロジェクトをビルドすると、BizTalk マッパーが次のようなエラーを生成します。
"ファイル ファイル <名> には、名前空間と型名のプロパティの値が重複しています。"
"名前空間 <名> には、'_' の定義が既に含まれています。
BizTalk プロジェクトでは、次のことが検査されます。
複数のアイテムが同じファイル名を持っている。 たとえば、 Map1.xsd やMap1.btm などです。
ファイル名は、特殊文字 (~、 !、 @、など) のみで構成されます。
この問題を解決するには、次のいずれかの対処方法を使用できます。
ファイルの名前を変更します。 BizTalk プロジェクトのすべてのアイテムのファイル名が一意であることを確認します。
BizTalk プロジェクトのすべてのアイテムの型名が一意であることを確認します。
BizTalk マッパー アクティビティを含む C# ワークフロー プロジェクトを構築すると、EnvDTE.dll のバージョンの競合に関する次の警告が常に表示されます。
"EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" と "EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" の間の競合を解決する方法がありません。 任意で "EnvDTE, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" を選択します。 競合を解決して警告を消去するために、app.config でアセンブリ "EnvDTE, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" をバージョン "7.0.3300.0" [] からバージョン "8.0.0.0" [C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PublicAssemblies\EnvDTE.dll] にマップし直してください。 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1360,9): 警告MSB3247: 同じ依存アセンブリの異なるバージョン間で競合が見つかりました。
WorkflowConsoleApplication3 -> C:\Users\btslabs\Desktop\WorkflowConsoleApplication3\bin\Debug\WorkflowConsoleApplication3.exe
これは、マッパー アクティビティが参照している Microsoft.BizTalk.Mapper.OM.dll が原因で発生します。
警告を無視します。