逻辑应用将架构添加到 X12 协议
Logic Apps adding Schema to X12 Agreement
我被要求处理来自 SFTP 服务器的 X12 文档,该服务器将具有多个 GS/ST 段。所以我决定将逻辑应用程序与企业集成包一起使用。我以前处理过平面文件,但这个解决方案需要我使用 X12。所以我开始将模式添加到协议中,但它说有 "No schemas found"。我根据这条消息假设,它不允许我使用我上传的平面文件模式。除了如何上传、更新和删除模式文件外,我找不到任何关于此的文档。我应该为协议使用什么架构格式?它们在任何地方都可用吗?
X12 协议只能识别 BizTalk 附带的架构。逻辑应用的协议无法识别 "homemade" 模式。
我最终找到了可以获取 BizTalk 架构的位置。您可以通过以下方式获得它:
How to Install EDI Schema Files
我做的是
- 创建一个 Windows 2016 VM
- 安装 VS 2013
- 安装 BizTalk 2013 R2 评估版
- 从 C:\Program Files (x86)\Microsoft BizTalk Server 2013 复制文件
R2\XSD_Schema\EDI\MicrosoftEdiXSDTemplates 到我的本地机器
- 运行 我机器上的可执行文件
仅供参考:从 2016 年开始,免费版本的 BizTalk 不再提供此可执行文件。这就是我使用 2013 R2 的原因。
这些架构与架构编辑器创建的架构之间存在一些细微差别。
BizTalk 架构有:
<xs:schema xmlns:btsedi="http://schemas.microsoft.com/BizTalk/2005/EdiSchemaEditorExtension" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" targetNamespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
已创建 SDK 架构编辑器:
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema">
BizTalk 架构有额外的属性。他们有:
- targetNamespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006"
- xmlns:btsedi="http://schemas.microsoft.com/BizTalk/2005/EdiSchemaEditorExtension"
还要注意,编辑器会将第一个元素创建为 Root,我相信 X12 需要格式非常具体的名称:X12_{veriosn}_{TransactionSet}。
X12 也是 UTF-8,而编辑器创建的是 UTF-16。
您应该先将这些架构上传到您的集成帐户中。在将架构添加到协议之前。
我是 BizTalk 及其以 VS2015 为中心的世界观的新手。有一个包含几乎所有 BizTalk 项目的 Azure 模板:
BizTalk Server 2016 开发人员
- SQL Serer
- BizTalk 服务器
- Visual Studio 2015
- BizTalk SDK(减去 EDI 架构)
架构位于 MicrosoftEdiXSDTemplates.zip(包括 X12)文件的 Microsoft Azure BizTalk Services SDK Setup 中。
注意 Microsoft open sourced 架构,但不得不删除 X12 架构,因为它们不是开源的。
文件 "format" 必须匹配。我 "believe" 它验证 header 信息 and/or 使用的字符集。它们应该与 BizTalk 附带的 X12 相匹配。如果您需要执行自定义版本,例如修改字段以允许更大的字符串大小或更改段的顺序,请执行以下操作:
- 制作原始 X12 架构的副本。
- 将其重命名为唯一的,例如将 X12_00401_940.xsd 更改为 X12_00401_940_Custom.xsd。
- 根据需要自定义字段/段。
关键是文件中使用的字符集和header信息。确保保留这些。
我被要求处理来自 SFTP 服务器的 X12 文档,该服务器将具有多个 GS/ST 段。所以我决定将逻辑应用程序与企业集成包一起使用。我以前处理过平面文件,但这个解决方案需要我使用 X12。所以我开始将模式添加到协议中,但它说有 "No schemas found"。我根据这条消息假设,它不允许我使用我上传的平面文件模式。除了如何上传、更新和删除模式文件外,我找不到任何关于此的文档。我应该为协议使用什么架构格式?它们在任何地方都可用吗?
X12 协议只能识别 BizTalk 附带的架构。逻辑应用的协议无法识别 "homemade" 模式。
我最终找到了可以获取 BizTalk 架构的位置。您可以通过以下方式获得它:
How to Install EDI Schema Files
我做的是
- 创建一个 Windows 2016 VM
- 安装 VS 2013
- 安装 BizTalk 2013 R2 评估版
- 从 C:\Program Files (x86)\Microsoft BizTalk Server 2013 复制文件 R2\XSD_Schema\EDI\MicrosoftEdiXSDTemplates 到我的本地机器
- 运行 我机器上的可执行文件
仅供参考:从 2016 年开始,免费版本的 BizTalk 不再提供此可执行文件。这就是我使用 2013 R2 的原因。
这些架构与架构编辑器创建的架构之间存在一些细微差别。
BizTalk 架构有:
<xs:schema xmlns:btsedi="http://schemas.microsoft.com/BizTalk/2005/EdiSchemaEditorExtension" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" targetNamespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
已创建 SDK 架构编辑器:
<xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:xs="http://www.w3.org/2001/XMLSchema">
BizTalk 架构有额外的属性。他们有:
- targetNamespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006"
- xmlns:btsedi="http://schemas.microsoft.com/BizTalk/2005/EdiSchemaEditorExtension"
还要注意,编辑器会将第一个元素创建为 Root,我相信 X12 需要格式非常具体的名称:X12_{veriosn}_{TransactionSet}。 X12 也是 UTF-8,而编辑器创建的是 UTF-16。
您应该先将这些架构上传到您的集成帐户中。在将架构添加到协议之前。
我是 BizTalk 及其以 VS2015 为中心的世界观的新手。有一个包含几乎所有 BizTalk 项目的 Azure 模板:
BizTalk Server 2016 开发人员
- SQL Serer
- BizTalk 服务器
- Visual Studio 2015
- BizTalk SDK(减去 EDI 架构)
架构位于 MicrosoftEdiXSDTemplates.zip(包括 X12)文件的 Microsoft Azure BizTalk Services SDK Setup 中。
注意 Microsoft open sourced 架构,但不得不删除 X12 架构,因为它们不是开源的。
文件 "format" 必须匹配。我 "believe" 它验证 header 信息 and/or 使用的字符集。它们应该与 BizTalk 附带的 X12 相匹配。如果您需要执行自定义版本,例如修改字段以允许更大的字符串大小或更改段的顺序,请执行以下操作:
- 制作原始 X12 架构的副本。
- 将其重命名为唯一的,例如将 X12_00401_940.xsd 更改为 X12_00401_940_Custom.xsd。
- 根据需要自定义字段/段。
关键是文件中使用的字符集和header信息。确保保留这些。