Skip to main content
Skip table of contents

Custom Edifact Disassembler/Assembler

From Link 2.9 it is possible to use additional custom disassemblers/assemblers.

Needed assemblies: 

  • Bizbrains.LinkAssembler.Base.dll (part of the Biztalk package)


If you want to create your own disassembler or assembler you have the following options:

  • Implement the interface: Bizbrains.LinkAssembler.Base.ILinkDisassembler
  • Implement the interface: Bizbrains.LinkAssembler.Base.ILinkAssembler


Link has two implementations of each interface out-of-the-box. See Edifact Disassembler/Assembler

At the time writing it is a manual process to register the disassembler/assembler.

This is done on the FormatTypes directly in the database.

Table name: DistributionModel.tFormatTypes

In this table there are two columns:

  • FullyQualifiedNameDisassembler
  • FullyQualifiedNameAssembler

In these columns you can register the ILinkDisassembler or ILinkAssembler implementation.

This is the fully qualified class and assembly name - eg:

Bizbrains.LinkAssembler.Edifact.SeeburgerEdifact, Bizbrains.LinkAssembler.Edifact, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7685f304a6e7e148


When this done you need to restart the host-instance in Biztalk. And you are ready to go.

Build-in disassemblers/assemblers 

Needed assemblies (all deployed automatically with Link 2.9)

  • Bizbrains.EdifactDisassembler.dll (NETSTANDARD dll) 
  • Bizbrains.LinkAssembler.Edifact.dll (.NET 4.6.1 dll)

  • Bizbrains.LinkAssembler.Base.dll (.NET 4.5 dll)

The build-in assemblers/disassemblers are written in .NET Standard, which means that you should either install the .NET standard library on the server or you can install the "netstandard.dll" directly in the GAC.

netstandard.dll You can download the netstandard.dll here if you want to install it manually.

Implementations

Link has at the moment two implementations of both a disassembler and an assembler:


Microsoft Edifact

Both ILinkDisassembler and ILinkAssembler are implemented in this class:

Bizbrains.LinkAssembler.Edifact.MicrosoftEdifact, Bizbrains.LinkAssembler.Edifact, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7685f304a6e7e148
LinkSetting key

The following LinkSetting key is needed to tell the assembler/disassembler where to look for XML Schemas:

LinkEdifact_DisassembleSchemaPath_Microsoft and LinkEdifact_AssembleSchemaPath_Microsoft

The value should be a path to a folder - eg. c:\edifact\microsoft\schemas

Naming convention of XML Schemas

The schemas for the Microsoft edifact should be named:

"EFACT_{MessagerVersionNumber} {MessageReleaseNumber}_{MessageType}_{AssociationAssignedCode}.xsd" (eg. EFACT_D96A_INVOIC_EN.xsd)

or

"EFACT_{MessagerVersionNumber} {MessageReleaseNumber}_{MessageType}.xsd" (eg. EFACT_D96A_INVOIC.xsd)

Seeburger Edifact

Both ILinkDisassembler and ILinkAssembler are implemented in this class:

Bizbrains.LinkAssembler.Edifact.SeeburgerEdifact, Bizbrains.LinkAssembler.Edifact, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7685f304a6e7e148
LinkSetting key

The following LinkSetting key is needed to tell the assembler/disassembler where to look for XML Schemas:

LinkEdifact_DisassembleSchemaPath_Seeburger and LinkEdifact_AssembleSchemaPath_Seeburger

The value should be a path to a folder - eg. c:\edifact\seeburger\schemas

Naming convention of XML Schemas

The schemas for the Seeburger edifact should be named:

"XML_SEE_{MessagerVersionNumber} {MessageReleaseNumber}_{MessageType}_{AssociationAssignedCode}.xsd" (eg. XML_See_D96A_INVOIC_EN.xsd)

or

"XML_SEE_{MessagerVersionNumber} {MessageReleaseNumber}_{MessageType}.xsd" (eg. XML_See_D96A_INVOIC.xsd)

Content on this page:

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.