逻辑应用程序正在将架构添加到X12协议



我被要求处理来自SFTP服务器的X12文档,该服务器将具有多个GS/ST段。因此,我决定将逻辑应用程序与企业集成包一起使用。我以前处理过平面文件,但此解决方案将要求我使用X12。因此,我开始将模式添加到协议中,但协议中说"找不到模式"。根据这条消息,我认为它不允许我使用我上传的平面文件模式。除了如何上传、更新和删除模式文件外,我找不到任何关于这方面的文档。协议应该使用什么模式格式?它们在任何地方都有售吗?

文件"format"必须匹配。我"相信"它验证了所使用的标头信息和/或字符集。它们应该与BizTalk附带的X12相匹配。如果您需要进行自定义版本,例如修改字段以允许更大的字符串大小或更改段的顺序,请执行以下操作:

  1. 制作原始X12架构的副本
  2. 将其重命名为唯一,例如将X12_00401_940.xsd更改为X12_00401_640_Custom.xsd
  3. 根据需要自定义字段/分段

密钥是文件和标头信息中使用的字符集。一定要保存这些。

您应该首先将这些模式上传到您的Integration Account中。在将架构添加到协议之前。

X12协议只能识别BizTalk附带的架构。Logic应用程序的协议不会识别"自制"模式。

我最终找到了可以获取BizTalk架构的位置。以下是你可以做的:

如何安装EDI架构文件

我做的是

  1. 创建Windows 2016虚拟机
  2. 安装VS 2013
  3. 安装BizTalk 2013 R2评估版
  4. 从C:\Program Files(x86)\Microsoft BizTalk Server 2013复制文件R2\XSD_Schema\EDI\MicrosoftEdiXSD模板到本地计算机
  5. 在我的计算机上运行可执行文件

仅供参考:从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架构具有额外的属性。他们有:

  1. targetNamespace="http://schemas.microsoft.com/BizTalk/EDI/X12/2006">
  2. xmlns:btsedi="http://schemas.microsoft.com/BizTalk/2005/EdiSchemaEditorExtension">

还需要注意的是,编辑器将创建第一个元素作为Root,我相信X12想要一个格式非常特定的名称:X12_{veriosn}_{TransactionSet}。此外,X12是UTF-8,而编辑器创建了UTF-16。

我是BizTalk及其以VS2015为中心的必要世界观的新手。有一个Azure模板几乎包含所有BizTalk项:

BizTalk Server 2016开发人员

  • SQL服务器
  • BizTalk Server
  • Visual Studio 2015
  • BizTalk SDK(不包括EDI架构)

架构位于MicrosoftEdiXSDTemplates.zip(包括X12)文件中的Microsoft Azure BizTalk Services SDK安装程序中。

请注意,Microsoft打开了这些架构的源代码,但由于它们不是开源的,因此不得不删除X12架构。

相关内容

  • 没有找到相关文章

最新更新