BizTalk Server 2006 Error: Loading document specification XYZ from assembly XYZ failed.

Obwohl die Assemblies mit den Schemas im GAC und deployed sind, kommt es beim Aufpicken einer Schemainstanz zu 2 Fehlereinträgen im Eventlog und die Message...

Obwohl die Assemblies mit den Schemas im GAC und deployed sind, kommt es beim Aufpicken einer Schemainstanz zu 2 Fehlereinträgen im Eventlog und die Message wird supended.

Fehler



Event Id: 5753

A message received by adapter "FILE" on receive location "XML" with URI "C:File_InORDERS01*.xml" is suspended. 



Error details:

There was a failure executing the receive pipeline:

"Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

Source: "XML disassembler"

Receive Port: "RpORDERS01"

URI: "C:File_InORDERS01*.xml"

Reason: Loading document specification from assembly failed. Verify that the schema for this document specification is deployed and placed in the Global Assembly Cache.

und



Event Id: 5719

There was a failure executing the receive pipeline: "Microsoft.BizTalk.DefaultPipelines.XMLReceive, Microsoft.BizTalk.DefaultPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

Source: "XML disassembler"

Receive Port: "RpORDERS01"

URI: "C:File_InORDERS01*.xml"

Reason: Loading document specification from assembly failed. Verify that the schema for this document specification is deployed and placed in the Global Assembly Cache.

Lösung

  1. Trennung der Solution in jeweils eigene Assemblies für Schemas, Pipelines, Maps und Orchestrations
  2. Sicherstellen, dass der Target-Namespace vom Schema (Schema-Node anklicken | Properties | Target Namespace) zu dem in der Instanz passt (Attribut xmlns am Root-Node)
  3. Verwenden eines Multi-part Message Type der auf ein Schema verweist. Operations und Messages verwenden dann diesen Multi-part Message Type anstatt selbst das Schema zu referenzieren.