在信封架构中自定义枚举
BizTalk Server使你能够自定义服务 (信封) 架构中的 ID 字段枚举。 这样,您可以接收或发送在信封的发送方或接收方 ID 字段中具有非标准值(在 X12 标准正文定义的值集以外)的交换。 您还可以更改在协议属性定义的标头值下拉列表中可用的限定符。
重要
对架构的修改会应用于上述标准中的所有事务。 不能在单个参与方的信封架构中进行修改。
BizTalk Server从产品随附的 Microsoft.BizTalk.Edi.BaseArtifacts.dll 中的静态服务架构中拉取允许值的列表。 若要扩展基本的值集,您需要开发并部署服务架构扩展。 BizTalk Server提供服务 (信封) 可用于修改枚举的架构模板。 这些服务架构X12_ServiceSchemaExtension.xsd 和 EDIFACT_ServiceSchemaExtension.xsd。 每个自定义架构都将根据标准拥有下列命名空间中的一个。 此命名空间不能更改。
标准 | 命名空间 |
---|---|
X12 和 HIPAA | http://schemas.microsoft.com/BizTalk/EDI/X12/2006 |
EDIFACT | http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006 |
可以在 Visual Studio 的 BizTalk 编辑器中更改架构(请参阅下面的过程)。 进行所需更改之后,必须部署架构。
当 BizTalk Server 验证信封段(对于 X12 为 ISA 和 GS,或者对于 EDIFACT 为 UNB 和 UNG)时,在接收端和发送端都将检查是否存在基于其命名空间的自定义服务架构。 如果已部署自定义架构,BizTalk Server 会将该架构与常规服务架构合并在一起,并将在指定之处同时使用自定义枚举值和标准枚举值。 可以自定义架构以扩展枚举列表,但不能从该列表中删除值。 如果未部署自定义架构,BizTalk Server 将使用标准服务架构。
部署自定义架构后,BizTalk Server管理控制台中的贸易合作伙伴管理 (TPM) 用户界面将使用自定义枚举中的值来填充 TPM 属性页中的相应下拉列表。 如果尚未部署自定义架构,TPM 将使用标准服务架构中的枚举中的值。 另外,BizTalk Server 运行时将使用自定义枚举来验证消息。
如果使用 BizTalk Server 提供的 XML 工具来验证实例及其信封,并且已自定义服务架构,则除了文档 (事务集) 架构 () ,如有必要,还必须在批处理架构中包含自定义服务架构。 如果验证的是不带信封的事务集实例,则不必包括此架构。
必备条件
必须以 BizTalk Server Administrators 组成员的身份登录。
可以修改的信封字段
只能修改以下信封字段。 只有这些字段包括在扩展架构中。 在服务扩展架构中添加其他字段对处理没有任何影响。
标准 | 字段 |
---|---|
X12 和 HIPAA | ISA01 – 授权限定符 ISA03 – 安全限定符 ISA05 – 发送方 ID 限定符 ISA07 - 接收方 ID 限定符 GS01 - 功能代码 GS07 - 责任代理 |
EDIFACT | UNB2.2 - 发送方代码限定符 UNB3.2 - 接收方代码限定符 |
不应修改的信封字段
信封中的某些字段控制引擎中的行为。 因此,不应向任何这些字段的现有枚举列表添加值。 这些字段如下所示:
标准 | 字段 |
---|---|
X12 和 HIPAA | ISA11 – 交换控制标准标识符 ISA12 – 交换控制版本号 ISA14 – 请求确认 |
EDIFACT | UNB1.1 – 语法标识符 UNB1.2 – 语法版本号 UNB9 – 确认请求 |
在信封架构中自定义枚举
在 Visual Studio 中,创建新的项目。
将 X12_ServiceSchemaExtension.xsd 架构 (添加到 BizTalk 编辑器中的 \Program Files (x86) \Microsoft BizTalk Server <VERSION>XSD_Schema\EDI 中的 X12 或 HIPAA 枚举) 或 EDIFACT_ServiceSchemaExtension.xsd 架构。 打开架构。
若要更改枚举中的值,请在“ 属性 ”窗格中选择枚举,然后单击省略号以打开 枚举编辑器。 根据需要将 添加到值列表,确保在“值”窗格中的每一行上都有一个 值 。 单击 “确定” 。
重要
不能更改服务架构的命名空间。 架构应与随产品一起安装的原始扩展架构具有相同的命名空间和根节点名称。
注意
如果要向架构添加新字段,该字段将被忽略。 只能更改上述 “可修改的信封字段” 部分中列出的字段。
保存该架构。
右键单击架构,然后单击“ 部署”。
注意
架构必须部署在当前 BizTalk 组中。