Sdílet prostřednictvím


Customizing Envelope Fields

This week's post is brought to us by Suraj Guarav, our EDI/AS2 development lead for R2:

A new feature coming up in Beta 2 (also in Feb CTP but with limited test coverage) is the ability to dynamically modify the list of allowed values in envelope ID fields.

A typical customer scenario could be that there is a unique sender and receiver qualifier that two trading partners use which is outside the set of values defined by the X12 standards body. In such a case, the allowable values that appear in the drop-down lists in the EDI Properties in the Partner Agreement Manager (PAM) for ISA05 and ISA07 need to be extended to incorporate the additional acceptable values.

Customization Using Extended Service Schema

The EDI system pulls the list of allowed values from static service schemas in the Microsoft.BizTalk.Edi.BaseArtifacts dll that ships with R2. There is one schema each for X12 and Edifact.  To extend the base set of values, a service schema extension needs to be developed and deployed. Service schema extension templates for X12 and Edifact ship with the product and are located at Microsoft BizTalk Server 2006\XSD_Schema\EDI. They are called X12_ServiceSchemaExtension.xsd and Edifact_ServiceSchemaExtension.xsd respectively.

To extend ISA01 field, create a Biztalk project and add the X12 Service schema to it. In case a service schema has been deployed previously, it should be used as it may contain extensions to other envelope fields.

Figure 2 - X12 Extended Service Schema

Add values to the ISA01 collection. Similarly, other fields in the schema can be modified as well. Once the changes are done, deploy the schema in the current BizTalk group. It should have the same namespace and root node name as the original extension schema that came with the product. After the schema is deployed, new values would be recognized throughout the system. They would show up in Partner Agreement Manager and runtime processing would also employ these values during validation. In addition, XML tools (e.g. validate instance) would also make use of these values for validation.

Only the list of fields that can be customized are present in the extension schemas. Addition of any new field in the schemas would not have any impact on system's behavior, they would simply be ignored. Additionally, it is not possible to delete a value from the base service schemas. Customizing envelopes is additive only!

Thanks Suraj!

Cheers,

Tony

BlogEntryMar02Pic2.jpg

Comments

  • Anonymous
    April 04, 2007
    Hello Suraj, Nice to see the Customization of Env. Fields. I am coming from a bts 2002 background, so if you can point out the new way of doing it in bts2k6 will appreciate. In 2002 we load a particular docdef for a partner via the selection crtieria keys on the document definition,thereafter create a new channel/port for him which has this docdef tied to it and finally message gets serialized via a custom envelope which has the right schema tied to it.

  • Anonymous
    April 18, 2007
    So I installed r2 and I do not see any of the new property pages for EDI?

  • Anonymous
    April 19, 2007
    Please ensure that you have configured Microsoft EDI/AS2 in the BizTalk configuration tool after installation.

  • Anonymous
    May 23, 2008
    The comment has been removed