[AS2]使用 OpenAS2 和 WebSphere DataPower B2B Appliance XB60 传递 B2B 消息

 

简介

OpenAS2 使您能够在交易伙伴之间传送和接收 EDI-X12、EDIFACT、XML 或二进制形式的 AS2 消息。由于 OpenAS2 文档不够具体,因此本文向您演示如何安装、配置和使用 OpenAS2,以及创建一个稍微修改就可用于不同场景的引用模型。本文还演示如何使用该 OpenAS2 引用模型来测试 B2B 网关,即将其用作向 IBM® WebSphere® DataPower® B2B Appliance XB60(以下简称 XB60)发送消息的客户端。

第 1 部分 安装 OpenAS2

为了能够运行本文中的场景,您需要安装 Java™ —— 本文使用 Java 1.6。您还需要 OpenAS2 包和 Java Cryptography Extension (JCE) 策略文件,可从本文的末尾下载 它们。


图 1. OpenAS2 安装文件夹结构

  1. 将下载的 OpenAS2 包解压缩到适当的位置,即 <install_dir>。在 Linux® 中 <install_dir> 的值通常为/opt/OpenAS2,在 Microsoft® Windows® 中为C:\OpenAS2
  2. 将文件 <install_dir>/lib/openAS2_<date>.jar 重命名为 <install_dir>/lib/openas2-lib.jar(大小写敏感)。上面的图 1 显示了重命名之后解压缩的包,并突出显示了该文件。您的安装应该与此相似。
  3. 要让加密和证书管理正常工作,必须在 Java 中安装正确的 JCE 策略文件。下载的压缩文件包含 local_policy.jarUS_export_policy.jar 两个文件。将它们安装到<JAVA_HOME>/lib/security 下的 Java 位置中。在安装这些新文件之前要备份现有的文件。
  4. 为了安全起见,解压缩本文附带的可下载附加材料,并从系统平台(Windows 或 Linux)上将 myCompany 文件夹复制到<install_dir>。然后在 Linux 上运行standalone.sh 或在 Windows 上运行standalone.cmd 启动 OpenAS2。输入exit 终止该软件的运行。您应该看到类似于下面的图 2 的输出。如果遇到任何 Java 异常,则可能需要将 Java 添加到环境变量的路径中。如果异常与 SSL 证实相关,则可能是未能正确地安装 JCE 策略。

图 2. 运行 OpenAS2 的样例
Staring OpenAS2 with file myCompany.xml
OpenAS2 v0.9
Starting Server...
Loading configuration...
Registering Session to Command Processor...
Starting Active Modules...
OpenAS2 Started
07/14/10 12:03:57 OpenAS2Server: - OpenAS2 Started -
Loading Command Processor...[Thread[Thread-2,5,main], Thread[Thread-3,5,main]]
Loading Command Processor...[Thread[Thread-2,5,main], Thread[Thread-3,5,main]]
#>exit
			

第 2 部分 配置 OpenAS2 引用模型

在本文中将用到下面的引用模型。端口值是任意的,但是两端的设置必须一致才能交换消息。这个场景涉及到两个交易伙伴 myCompanymyPartner,它们使用 OpenAS2 交换消息。这些交易伙伴在 OpenAS2 中定义;它们不是 系统的主机名。实际上这些交易伙伴可以驻留在同一个物理硬件上。下面的图 3 显示了该模型。通过 10080 端口上将一条 AS2 消息从myPartner 发送到myCompany,以同步的方式或通过 20081 端口异步接收 MDN。相反地,当通过 20080 端口将 AS2 消息从myCompany 发送到myPartner 时,以同步的方式或通过 10081 端口异步接收 MDN。


图 3. 这里使用的 OpenAS2 引用模型

配置引用模型

创建引用模型需要两个交易伙伴 myCompanymyPartner,如上面的图 3 所示。它们可以运行在 Windows 系统、Linux 系统或同时运行在这两种系统上,甚至可以运行在同一台主机上。一定要使用正确的文件分隔符 —— 在 Windows 中为 “\”,在 Linux 系统中为 “/”。如上面的图 3 所示,通过 4 个文件来控制交易伙伴的行为:

  • 用于储存将在交易伙伴之间传递的 SSL 证书的密匙库。
  • 控制交易伙伴(上面的图 3 中的 myCompany.xmlmyPartner.xml)的行为的配置文件。它包含交易伙伴的属性和将与之进行通信的交易伙伴的值。
  • 定义交易伙伴之间的关系的 partnerships 文件。默认情况下,这个文件的名称为 partnerships.xml
  • 一个名为 commands.xml 的命令文件,它是 OpenAS2 发行版的一部分,不需要进行修改。

这些文件包含在针对 Windows 或 Linux 的下载资料中。它们配合 Unix shell 脚本和 DOS 命令文件来运行该软件。

第 3 部分 使用预配置交易伙伴传递文档(Windows 例子)

可以通过压缩文件中附带的文件在 Windows 或 Linux 上开始传递文档。在 Windows 系统上,在 OpenAS2 <install_dir> 中从解压缩文件中复制文件夹Windows\myCompanyWindows\myPartner(不是显示的所有 OpenAS2 文件夹),如图 4 所示。在这里,Windows 和 Linux 的惟一区别是使用standalone.sh shell 脚本代替standalone.cmd,以及从解压缩包的 Linux 子目录中复制myCompany myPartner 文件夹。在 Windows 和 Linux 系统上,myCompany.xmlmyPartner.xml 文件的惟一区别是将文件分隔符从后斜杠改为前斜杠。


图 4. myCompany 和 myPartner 的 OpenAS2 配置
C:\OpenAS2 (<install_dir>)
+--lib
|  ...
+--myCompany
|  commands.xml
|  myCompany.p12
|  myCompany.xml
|  partnerships.xml
|  standalone.cmd
|
+--myPartner
|  commands.xml
|  myPartner.p12
|  myPartner.xml
|  partnerships.xml
|  standalone.cmd

您已经准备好传递文档!在 myCompany 文件夹中双击 standalone.cmd 文件。如果您安装了 JCE 组件,将会看到 OpenAS2 的运行,如下面的图 5 所示。该文件在此文件夹中分别创建了名为resendTo_anyTo_myCompanyTo_myParter 的子文件夹,以及一个日志文件:


图 5. 运行中的 OpenAS2

在 myPartner 文件夹中双击 standalone.cmd 文件。您将看到刚才创建文件夹和日志文件和类似于上图的窗口。要将文档从 myPartner 发送到 myCompany,仅需将文件放入<install_dir>/myPartner/To_myCompany 文件夹。下图显示了文件交换过程(突出显示消息)。将文件发送到哪里?它将出现在<install_dir>\myCompany 目录下的inbox 文件夹中。


图 6. 将文档从 myPartner 发送到 myCompany


图 7. myCompany 向 myPartner 发送回复

为了保持简洁,下面的图 8 显示了文本格式的输出结果,将两个输出结果合并起来便于了解该过程,并突出显示重要的部分:

  1. 在第一个代码块中,myPartner 轮询 to_MyCompany 文件夹,选取消息并对其进行加密和签名,然后使用 HTTP 通过端口 10080 将它发送到 myCompany。
  2. 在第二个代码块中,myCompany 接收消息并对其进行解密和验证,然后将它和标题一起储存在 myCompany 文件夹中。然后它同步发送 MDN,这可以通过中间代码块第一行和最后一行显示的 IP 地址 (127.0.0.1) 和端口 (3216) 看出来,因为它们是一样的。
  3. 在第三个代码块中,myPartner 接收 MDN 并验证它,并记录消息已发送并收到这一事实,然后将它从 to_myCompany 文件夹删除。

图 8. 将文件从 myPartner 发送到 myCompany
myPartner: 07/28/10 10:19:19 DirectoryPollingModule: processing 
    C:\OpenAS2\myPartner\To_myCompany\inbound.EDIFACT
myPartner: 07/28/10 10:19:19 DirectoryPollingModule: file assigned to message 
    C:\OpenAS2\myPartner\To_myCompany\inbound.EDIFACT 
    [<OPENAS2-28072010101919+0100-7908@myPartner_myCompany>]
myPartner: 07/28/10 10:19:19 AS2SenderModule: message submitted 
    [<OPENAS2-28072010101919+0100-7908@myPartner_myCompany>]
myPartner: 07/28/10 10:19:19 AS2SenderModule: signed data 
    [<OPENAS
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值