BizTalk 2010/2013 EDI B2B项目实践(1)

BizTalk开发标准EDI B2B是件非常容易的事情,但对于初学者可能有很多专业术语不太理解,不知道如何下手,我之前开始学的时候虽然跟着微软提供的Tutorial也能做成功,可有些地方就是不太明白为什么这样配置才可以。最近正好有同事开始做关于EDI B2B的项目,我顺便重新再看了一下,这下才明白什么叫温故而知新了。

下面我分享一下我对BizTalk在做EDI B2B项目中使用到的一些专业名词和配置解释一下,希望对初学BizTalk的朋友有所帮助。

场景1-BizTalk接收850-PO报文

还是拿BizTalk官方提供的Tutorial(C:\Program Files (x86)\Microsoft BizTalk Server 2013\SDK\EDI Interface Developer Tutorial)

Fabrikam就是作为BizTalkServer外部Partner,Fabrikam给BizTalkServer下了一张采购订单(850-PO),BizTalkServer把标准的EDI-850,经过mapping之后产生一个后台OrderSystem可以接受的XML文件,同时回一个ACK告诉Fabrikam我收到了这个报文。

新建Parties

Parties就是定义B2B的两个对象或者说是商业伙伴,在这个场景里面需要建2个OrderSystem,Fabrikam

OrderSystem作为BizTalk服务器因此必须在Local BizTalk process message打勾

Fabrikam是你的外部客户因此不需要打勾

Parties新建完后系统会自动创建对应的OrderSystem_Profile,Fabrikam_Profile,

新建Agreement

Agreement就是协议,定义双方交换的协议

First Party->Second Party 选择谁和谁做交互

Fabrikam->OrderSystem 表示OrderSystem(BizTalk)接收来之Fabrikam提供的850报文

InterChange Settings设置来识别和验证EDI报文的第一行,最重要的就是设置ISA6,ISA8

Acknowledgements设置是否回一个ack确认报文给Fabrikam如果不需要那么就不必要配置OrderSystem->Fabrikam这个tab下的信息

Transaction Set Setting设置来识别和验证EDI报文的第二行,第三行的信息

标准的850-EDI报文结构

第一行ISA开头专业术语叫Interchange control header,作为交换必要的识别代码*ZZ*就是表示发送方在我系统里的代码和接收放的系统代码,这些必须事先约定好

第二行GS开头专业术语叫Transaction set specific group header,一些相互之间的约定

第三行ST开头Transaction set header,表示这个报文是850是第几个

下面就是PO的具体内容了

接收端口配置

在你的接收端口下的接收位置的Pipeline选择EdiRecive

设置好主要的这些参数就可以完成接收一个EDI报文了。

场景2-BizTalk发送一个850-PO给外部客户

就需要配置OrderSystem->Fabrikam这个选项Tab,ISA6,ISA8,正好相反

Local Host Settings 设置EDI报文中第一行和第二行中产生的唯一序列,BizTalk会自动更新这些序列

配置发送端口,你要将这些配置绑定在哪个端口上,原理就是EDISend pipeline这个组件会在构造这个edi报文读取这些配置。

还可以根据实际情况定义EDI报文GS第二行的一些规则比如使用的EDI版本,时间日期等格式,当然也可以不必定义系统会根据默认给出。

配置完这些就可以实现对EDI报文接收和发送了。

BizTalk 2010/2013 EDI B2B项目实践(1)的更多相关文章

  1. BizTalk 2010/2013 EDI B2B

    BizTalk 2010/2013 EDI B2B项目实践(1)   BizTalk 2010/2013 EDI B2B项目实践(1) BizTalk开发标准EDI B2B是件非常容易的事情,但对于初 ...

  2. Debatching(Splitting) XML Message in Orchestration using DefaultPipeline - BizTalk 2010

    Debatching(Splitting) XML Message in Orchestration using DefaultPipeline - BizTalk 2010   In this po ...

  3. [转]Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)

    本文转自:http://www.cnblogs.com/legendxian/archive/2010/01/25/1655551.html 接上篇Asp.Net大型项目实践(10)-基于MVC Ac ...

  4. visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑常用快捷键-代码编辑器的展开和折叠

    visual studio 2005/2010/2013/2015/2017 vc++ c#代码编辑快捷键-代码编辑器的展开和折叠 VS2015代码编辑器的展开和折叠代码确实很方便和实用.以下是展开代 ...

  5. Hangfire项目实践分享

    Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(De ...

  6. Windows on Device 项目实践 3 - 火焰报警器制作

    在前两篇<Windows on Device 项目实践 1 - PWM调光灯制作>和<Windows on Device 项目实践 2 - 感光灯制作>中,我们学习了如何利用I ...

  7. Windows on Device 项目实践 2 - 感光灯制作

    在上一篇<Windows on Device 项目实践 1 - PWM调光灯制作>中,我们学习了如何利用Intel Galileo开发板和Windows on Device来设计并完成一个 ...

  8. Windows on Device 项目实践 1 - PWM调光灯制作

    在前一篇文章<Wintel物联网平台-Windows IoT新手入门指南>中,我们讲解了Windows on Device硬件准备和软件开发环境的搭建,以及Hello Blinky项目的演 ...

  9. Hangfire项目实践

    Hangfire项目实践分享 Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget ...

随机推荐

  1. pyinstaller spec

    pyinstaller options..script.py pyi-makespec options script.py [other scripts ...] pyinstaller option ...

  2. playframework 一步一步来 之 日志(一)

    日志模块是一个系统中必不可少的一部分,它可以帮助我们写程序的时候查看错误信息,利于调试和维护,在业务面,它也可以记录系统的一些关键性的操作,便于系统信息的监控和追踪. play的日志是基于logbac ...

  3. 简单了解下java中的堆、栈和方法区。

    堆.栈.方法区 1,首先了解下java中的数据类型. ①java中的八大基本数据类型:boolean, char , byte, short, int, long , float , double. ...

  4. JS基础-运算符-函数

    1.运算符  1.赋值运算符和扩展运算符    1.赋值运算符 =    2.扩展运算符      +=,-=,*=,/=,%=,^=....      ex:        a=a+b;--> ...

  5. Codeforces 1114 简要题解

    文章目录 A题 B题 C题 D题 E题 F题 传送门 然而这场div2div2div2没有什么难度比较大的题 A题 传送门 题意简述:三个人分别至少选x,y,zx,y,zx,y,z件物品,有三种物品数 ...

  6. vue使用路由跳转到上一页

    this.$router.go(-1) <template> <div> <button class="btn btn-success" @click ...

  7. 在Unity5.6.5f1中使用C#7语法

    备忘,记忆力越来越差了,必需把这种琐碎的东西记下来,以防1年后想再用完全没头绪. 之前试过用C#6语法,但是怎么配置操作的完全没印象了. 首先去这下载扩展 https://bitbucket.org/ ...

  8. 2.3.7synchronized代码块有volatile同步的功能

    关键字synchronized可以使多个线程访问同一个资源具有同步性,而且他还具有将线程工作内存中的私有变量与公共内存中的变量同步的功能. package com.cky.thread; /** * ...

  9. python bittorrent 使用与学习

    更新于20171128 关于这个p2p的技术,阿里开源了蜻蜓,大家可以看看,感觉应该比这个要好用,而且文档也全. 前言 最近在学习python的p2p协议,发现网上找不到好的文章,又仔细找了找终于找到 ...

  10. [算法专题] 深度优先搜索&回溯剪枝

    1. Palindrome Partitioning https://leetcode.com/problems/palindrome-partitioning/ Given a string s, ...