使用BizTalk实现RosettaNet B2B So Easy

最近完成了一个vmi-hub的B2B项目,使用Rosettanet 2.0的标准与一家品牌商,OEM,供应商实现B2B。一共交换4个报文,4B2,3B2,4B2 POD,4C1,说白了就是收发存这些数据;

项目环境

BizTalk 2009 Accelerator for RosettaNet,并没有使用最新的BizTalk版本因为客户已经在使用了,所以就在现有的环境下进行。

下面说一下如何配置RosettaNet

  1. 交换证书

RosettaNet B2B中证书的用途和导入就不在这里详细说了,建议服务器端证书(IIS的SSL证书)和解密/验签的使用同一本证书

  1. 配置partner

配置Partner/Home Organization,这部分配置也非常简介,关键是Name和GBI 两个栏位填写正确就可以了

  1. 配置Process Configuration

定义每个pip的处理规则。以下我们用需要了3b2,4B2,4C1,0A1

每个pip代码都是有标准的,第一次做项目的时候你可能不知道如何填写

以上内容都可以通过https://www.rosettanet.org/RosettaNet-Standards/Standards-Library/PIP-Directory 可以查到,都是标准定义

  1. 配置Agreement

OA1 agreement的做作用是当处理这个pip流程时如果错误就会返回给对方一个0A1报文

Home role 如果选择Initiator表示做为发送方,Responder表示接收方

Ports 都填写对方的URL

其它的基本默认就可以了

以上配置还是非常简单的

流程如何调用RosettaNet API

在流程中只需要执行SubmitRNIF.SubmitMessage这个方法就可以了,但是在执行这个方法前必须先执行以下代码,在XML字符串的头部加上已下定义,应为Rosettanet的报文是通过dtd验证的,所以必须要加

RosettaNet Troubleshooting

  1. UNP.SCON.VALERR:A failure occurred while validating the service content.

Error Number:2005

Description:A failure occurred while validating the service content.

验证Playload内容是否和dtd的定义一致,RosettaNet 加速器是严格的执行XML Schema验证只要有一个节点不符合就会报以上错误

  1. UNP.SHDR.VALERR : A failure occurred while validating the service header.

请检查Process Configuration配置和消息的playload/serviceHeade 是否一致

  1. 400 Bad Request OR Time out

双方检查证书是否导入正确,特别是对于自发布的证书,对方需要导入根证书到受信任的目录下,如果对方是linux或其他OS,则需要根据相应的操作

  1. Error code:UNP.MESG.DCRYPTERR

检查配置 Is Persistent Confidentiality Required 一般选None就可以了,不排除对方会选Palyload

还有一种情况是 acknowledgement of receipt\Non-Repudiation Required 也需要双方定义

运维工具

测试阶段免不了报文重发,做了一个报文重发的工具,可以选择发送错误报文再次重发,在原来LOB Application的源代码基础上加了一个选择发送失败的报文再次重发

源代码提供下载

希望对初次使用BizTalk做Rosettanet B2B 项目的能提供一些帮助,当然有问题也可以留言哦

使用BizTalk实现RosettaNet B2B So Easy的更多相关文章

  1. BizTalk增强型RosettaNet跟踪报告

      BizTalk 的数据报表能力一直是比较弱的,好在Rosettanet 支持使用BAM 跟踪功能来跟踪各PIP消息状态.增强的跟踪功能能跟踪流程为消息.错误和事件.不可否认性的数据.可以根据跟踪的 ...

  2. BizTalk开发小技巧

    BizTalk开发小技巧 随笔分类 - Biztalk Biztalk 使用BizTalk实现RosettaNet B2B So Easy 摘要: 使用BizTalk实现RosettaNet B2B ...

  3. BizTalk 2010/2013 EDI B2B

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

  4. BizTalk 2016 配置 RosettaNet遇到的坑

    本文只针对已经安装好BizTalk 2016 需要在安装RosettaNet加速器的伙伴. IIS配置 权限问题 错误信息 Failed to get IIS metabase property. E ...

  5. 重置BizTalk RosettaNet

    RosettaNet如果出现问题,可以进行重新配置安装,不过重置过程稍微有点麻烦.步骤如下: 注意:执行如下步骤前请做全部备份工作,如BTARN文件夹,自主开发的BTARN应用程序源码.MSI及Bin ...

  6. BizTalk RosettaNet 配置导入与导出

    更多内容请查看:BizTalk动手实验系列目录                             BizTalk 开发系列 BizTalk 培训/项目开发/技术支持请联系:Email:cbcye ...

  7. BizTalk RosettaNet 开发笔记

    RNIF BAM Tracking Error  解决办法:  503: Service Unavailable   解决办法:IIS 应用程序池运行账户用户名或密码错误,用户名不能是doma ...

  8. BizTalk RosettaNet解决方案搭建

    contoso为证书颁发机构 分别在两台服务器中配置hosts 192.168.199.160 fabrikam 192.168.199.225 contoso 安装CA 控制面板,添加删除程序 打开 ...

  9. BizTalk RosettaNet解决方案之Loopback

    本教程使用 BizTalk Accelerator for RosettaNet (BTARN) 在一台计算机上模拟本组织与合作伙伴组织之间的流程实施情况. 创建本组织 “BizTalk <版本 ...

随机推荐

  1. Java之IO流总结

    IO流·Java流式输入/输出原理·Java流类的分类·输入/输出流类·常见的节点流和处理流·文件流·缓冲流·转换流·数据流·Print流·Object流 ①Java流式输入/输出原理         ...

  2. MSSQL语句学习(查询表的总记录数)

    如何高效查询表的总记录数(通用方法) SELECT COUNT(1) ROWS FROM product 野路子1:利用系统自带的存储过程SP_SPACEUSED,详细的使用方式推荐谷哥或度娘, EX ...

  3. OpenCV-可视化界面Image Watch

    平台:Win10 x64+vs2015专业版+opencv-3.4.1-vc14_vc15 一直觉得OpenCV在调试方面不如MATLAB灵活方便,没成想OpenCV官方早就推出了一个叫Image W ...

  4. ABP框架系列之二十八:(Handling-Exceptions-异常处理)

    Introduction This document is for ASP.NET MVC and Web API. If you're interested in ASP.NET Core, see ...

  5. android 测试

    Android Monkey压力测试 monkey测试结果详细分析 Android自动化测试工具 UiAutomator使用详解 在Android Sudio中使用Uiautomator 六款Andr ...

  6. ZOJ 3229 Shoot the Bullet (有源有汇有上下界最大流)

    题意:一个人要给女孩子们拍照,一共 n 天,m 个女孩子,每天他至多拍 d[i] 张照片,每个女孩子总共要被至少拍 g[i] 次.在第 i 天,可以拍 c[i] 个女孩子,c[i] 个女孩子中每个女孩 ...

  7. day11_雷神_udp、多进程等

    day11 1.网络编程 1.1 udp协议 client端 import json import socket server_addr = ('127.0.0.1',9090) sk = socke ...

  8. ubuntu16.04安装maven

    一.下载maven apache maven官网地址:http://maven.apache.org/download.cgi 找到Link列下的“apache-maven-3.5.2-bin.tar ...

  9. SQL Server表分区(水平分区及垂直分区)

    什么是表分区? 表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表:而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字 ...

  10. Java中List, Integer[], int[]的相互转换

    import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Mai ...