OPEN AS2环境搭建(一)

来源:互联网 发布:linux 查看磁盘格式 编辑:程序博客网 时间:2024/06/10 08:43

OPEN AS2环境搭建(一)

     首先说说做这个项目的背景:公司收够了lexar所以涉及到了EDI项目,EDI,全称 Electronic Data Interchange,译名:电子数据交换。是由国际标准化组织(ISO)推出使用的国际标准,是指一种为商业或行政事务处理,按照一个公认的标准,形成结构化的事务处理或消息报文格式,从计算机到计算机的电子传输方法,也是计算机可识别的商业语言。例如,国际贸易中的采购订单、装箱单、提货单等数据的交换。ANSI ASC X12 为行业间电子交换商业交易开发统一的标准。OpenAS2 是用 Java 实现 AS2 的开源项目, 基于FreeBSD开源协议,OpenAS2 使您能够在交易伙伴之间传送和接收 EDI-X12、EDIFACT、XML 或二进制形式的 AS2 消息。

下面开始搭建Open AS2环境。

运行环境说明

操作系统

Jdk版本

Open AS2版本

CentOS 7.0

jdk1.8.0_151

V2.3.0

Open AS2 下载地址:https://sourceforge.net/projects/openas2/

目录结构说明


Bin目录下:gen_p12_key_par.sh是自动生成证书的脚本

使用方式:

./gen_p12_key_par.sh LONGSYS LONGSYS SHA256 "CN=www.longsys.com, OU=Information technology department, O=LONGSYS, L=Shenzhen, S=Guangdong, C=CN,emailAddress=peter.qiu"

 

 

生成.cer证书、.p12证书

Lib目录存放当前AS2运行所需要的jar

 

创建partner

在当前目录下创建partner :/usr/local/openas2_2_3/TEST_LONGSYS

Mkdir -p TEST_LONGSYS


Config.xml文件是配置open AS2属性配置

partnerships.xml是配置partner基本信息配置文件

下面就说说config配置文件

Certificates 配置证书路径:这个证书一定是包含了partner公钥的证书,要不然解密不了接收到的文件

 

partnerships配置交易伙伴信息

 

AS2DirectoryPollingModule设置轮询目录:发送轮询,接收轮询

 

设置接收文件MessageFileModule  $msg.content-disposition.filename$表示传送文件名称,当AS2DirectoryPollingModule中设置sendFileName=”true”才有值

 

设置接收文件端口&异步通知端口

 

partnerships.xml是配置partner信息文件


partner交易伙伴信息:

as2_id 必须是在OPEN AS2环境中是唯一的。

x509_alias:证书别名,特别是交易伙伴如果证书不一样的时候一定要设置别名,因为整个Open AS2中只能加载一个p12证书。

 

partnership:配置交易伙伴URL 加密类型

 

配置完这2个文件之后就可以着手设置启动脚本了

vimstart-longsys.sh

openAS2=/usr/local/openas2_2_3

 

config=${1:-''}

if [ -z "$config" ] ; then

  for i in config myCompany myPartner ; do

    config=$i.xml

    [ -s "$config" ] && break

  done

fi

[ ! -s "$config" ] && echo "${0##*/}: cannot find configuration file $config" && exit

 

echo "Starting OpenAS2 with file $config"

 

libDir=$openAS2/lib

ARGS="-Xms54m -Xmx1024m"

debug="-Dorg.apache.commons.logging.Log=org.openas2.logging.Log"

Main="org.openas2.app.OpenAS2Server"

CP="."

for jar in  bcmail-jdk15on-1.54.jar \

bcpg-jdk15on-1.54.jar \

bcpkix-jdk15on-1.54.jar \

bcprov-jdk15on-1.54.jar \

commons-io-2.5.jar \

commons-lang3-3.4.jar \

commons-logging-1.2.jar \

dom4j-2.0.0.jar \

h2-1.4.193.jar \

jaxen-1.1.6.jar \

mail-1.4.7.jar \

openas2-server-2.3.0.jar ; do

  if [ ! -s "${libDir}/${jar}" ] ; then

    echo "${0##*/}: cannot find ${libDir}/${jar}"

    exit 1

  fi

  CP="${CP}:${libDir}/${jar}"

done

echo "$ARGS $debug -cp $CP $Main $config"

JAVA_HOME=/usr/local/jdk1.8.0_151

${JAVA_HOME}/bin/java $ARGS $debug -cp $CP $Main $config

 

启动环境:

sh start-longsys.sh config.xml