版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34359363/article/details/72732194
我们接着昨天的说,昨天我们完成了openas2 2.3.0的环境搭建和启动!
今天我们讲一讲基
于我们自定义的openas2的配置!
1.
首先我们讲讲启动脚本,start.bat的配置,我们在一个机器上不可能只有一个java版本,当我们不想改变系统的环境变量为1.8的时候,我们可以通过如下的更改完成Openas2的启动:
2.config.xml的配置说明
<openas2>
<properties
sql_timestamp_format="yyyy-MM-dd HH:mm:ss.SSS"
as2_message_id_format="OPENAS2-$date.ddMMyyyyHHmmssZ$-$rand.UUID$@$msg.sender.as2_id$_$msg.receiver.as2_id$"
/>
<certificates classname="org.openas2.cert.PKCS12CertificateFactory"
filename="%home%/as2_certs.p12" 我们的秘钥:包含对方的数字证书和我们的秘钥。合成方法下一节会讲
password="testas2" 秘钥的密码
interval="300"/>
<partnerships classname="org.openas2.partner.XMLPartnershipFactory"
filename="%home%/partnerships.xml"/> <!--partnerships.xml是对应关系的配置-->
<loggers>
<!--日志的配置 可以参考log4j的部分配置
-->
<logger classname="org.openas2.logging.ConsoleLogger"/>
<!-- Remove this comment to enable emailing of exceptions<logger classname="org.openas2.logging.EmailLogger"show="terminated"javax.mail.properties.file="%home%/java.mail.properties"from="openas2"to="your email address"smtpserver="your smtp server"smtpauth="true"smtpuser="mySmtpUserId"smtppwd="mySmtpPwd"subject="$exception.name$: $exception.message$"bodytemplate="%home%/emailtemplate.txt"/>--><logger classname="org.openas2.logging.FileLogger"filename="%home%/../logs/log-$date.MMddyyyy$.txt"/> <!-- Remove this comment to enable socket logging<logger classname="org.openas2.logging.SocketLogger" ipaddr="127.0.0.1"portid="19999"/>--></loggers><commands classname="org.openas2.cmd.XMLCommandRegistry"filename="%home%/commands.xml"/>
<!--
不用变动
-->
<commandProcessors> <commandProcessor classname="org.openas2.cmd.processor.StreamCommandProcessor"/> <commandProcessor classname="org.openas2.cmd.processor.SocketCommandProcessor" portId="14321" userid="userID" password="pWd"/> <!--
如果本机要启动多个openas2 改变portid不一样-->
</commandProcessors>
<processor classname="org.openas2.processor.DefaultProcessor"
pendingMDN="%home%/../data/pendingMDN3"
pendingMDNinfo="%home%/../data/pendinginfoMDN3"
> 不变
<module classname="org.openas2.processor.sender.AS2SenderModule">
</module>
<module classname="org.openas2.processor.sender.AsynchMDNSenderModule"> </module><!-- This will parse the filename to get a sender and receiver. For instance a filenamed OpenAS2A_OID-OpenAS2B_OID.1234 would be sent from OpenAS2A to OpenAS2B. --><module classname="org.openas2.processor.receiver.AS2DirectoryPollingModule"outboxdir="%home%/../data/toAny"errordir="%home%/../data/toAny/error"interval="5"delimiters="-." sendfilename="true"format="sender.as2_id, receiver.as2_id, attributes.filename"mimetype="application/EDI-X12" /><module classname="org.openas2.processor.receiver.AS2DirectoryPollingModule"outboxdir="%home%/../data/toOpenAS2A/"errordir="%home%/../data/toOpenAS2A/error"interval="5"defaults="sender.as2_id=OpenAS2B_OID, receiver.as2_id=OpenAS2A_OID"sendfilename="true"mimetype="application/EDI-X12"/><module classname="org.openas2.processor.receiver.AS2DirectoryPollingModule"outboxdir="%home%/../data/toOpenAS2B"errordir="%home%/../data/toOpenAS2B/error"interval="5"defaults="sender.as2_id=OpenAS2A_OID, receiver.as2_id=OpenAS2B_OID"sendFilename="true"mimetype="application/EDI-X12"/><module classname="org.openas2.processor.msgtracking.DbTrackingModule" use_embedded_db="true" force_load_jdbc_driver="false" db_user="sa" db_pwd="OpenAS2" db_name="openas2" db_directory="%home%/DB"jdbc_driver="org.h2.Driver"jdbc_connect_string="jdbc:h2:$component.db_directory$/$component.db_name$"sql_escape_character="'"tcp_server_start="true"tcp_server_port="9092"tcp_server_password="openas2"/><module classname="org.openas2.processor.storage.MDNFileModule"filename="%home%/../data/$mdn.msg.sender.as2_id$-$mdn.msg.receiver.as2_id$/mdn/$date.yyyy-MM-dd$/$mdn.msg.content-disposition.filename$-$mdn.msg.headers.message-id$"protocol="as2"tempdir="%home%/../data/temp"/><module classname="org.openas2.processor.storage.MessageFileModule"filename="%home%/../data/$msg.sender.as2_id$-$msg.receiver.as2_id$/inbox/$msg.content-disposition.filename$-$msg.headers.message-id$"去掉
$msg.headers.message-id$ 可以直接得到文件名
header="%home%/../data/$msg.sender.as2_id$-$msg.receiver.as2_id$/msgheaders/$date.yyyy-MM-dd$/$msg.content-disposition.filename$-$msg.headers.message-id$"protocol="as2"tempdir="%home%/../data/temp"/><module classname="org.openas2.processor.receiver.AS2ReceiverModule"port="10080"errordir="%home%/../data/inbox/error"errorformat="sender.as2_id, receiver.as2_id, headers.message-id"/><!--<module classname="org.openas2.processor.receiver.AS2ReceiverModule"port="10443"protocol="https"ssl_protocol="TLS"ssl_keystore="%home%/ssl_certs.jks"ssl_keystore_password="testas2"errordir="%home%/../data/inbox/error"errorformat="sender.as2_id, receiver.as2_id, headers.message-id"/>--><module classname="org.openas2.processor.receiver.AS2MDNReceiverModule"port="10081"/> <!--<module classname="org.openas2.processor.receiver.AS2MDNReceiverModule"port="10444"protocol="https"ssl_protocol="TLS"ssl_keystore="%home%/ssl_certs.jks"ssl_keystore_password="testas2"/>--><module classname="org.openas2.processor.resender.DirectoryResenderModule"resenddir="%home%/../data/resend"errordir="%home%/../data/resend/error"resenddelay="60"/></processor></openas2>
其余的不需要变动
3.partnerships.xml 的配置
<partnerships>
<partner name="OpenAS2A"
as2_id="OpenAS2A_OID" <!-- as_id最好和秘钥中的名称一样-->
x509_alias="openas2a"
email="[email protected]"/>
<partner name="OpenAS2B"
as2_id="OpenAS2B_OID"
x509_alias="openas2b"
email="[email protected]"/>
<partnership name="OpenAS2A-to-OpenAS2B">
<sender name="OpenAS2A"/>
<receiver name="OpenAS2B"/>
<attribute name="protocol" value="as2"/>
<attribute name="content_transfer_encoding" value="8bit"/>
<attribute name="compression_type" value="ZLIB"/>
<attribute name="subject" value="From OpenAS2A to OpenAS2B"/>
<attribute name="mdnsubject" value="Your requested MDN response from $receiver.as2_id$"/>
<attribute name="as2_url" value="http://localhost:10080"/><!-- sender的url 和端口-->
<attribute name="as2_mdn_to" value="[email protected]"/><!--receiver 的url和端口-->
<!-- <attribute name="as2_receipt_option" value="http://localhost:10080"/> ...for async MDN-->
<attribute name="as2_mdn_options" value="signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, SHA256"/>
<attribute name="encrypt" value="3DES"/>
<attribute name="sign" value="SHA1"/> <!--加密方式支持多种如sha256等等-->
<attribute name="resend_max_retries" value="3"/>
<attribute name="prevent_canonicalization_for_mic" value="false"/>
<attribute name="no_set_transfer_encoding_for_signing" value="false"/>
<attribute name="no_set_transfer_encoding_for_encryption" value="false"/>
<attribute name="rename_digest_to_old_name" value="false"/>
<attribute name="remove_cms_algorithm_protection_attrib" value="false"/>
</partnership>
<partnership name="OpenAS2B-to-OpenAS2A">
<sender name="OpenAS2B"/>
<receiver name="OpenAS2A"/>
<attribute name="protocol" value="as2"/>
<attribute name="content_transfer_encoding" value="8bit"/>
<attribute name="subject" value="From OpenAS2B to OpenAS2A"/>
<attribute name="as2_url" value="http://localhost:10080"/>
<attribute name="as2_mdn_to" value="[email protected]"/>
<!-- <attribute name="as2_receipt_option" value="http://localhost:10080"/> ...for async MDN-->
<attribute name="as2_mdn_options" value="signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, SHA256"/>
<attribute name="encrypt" value="3DES"/>
<attribute name="sign" value="SHA256"/>
<attribute name="prevent_canonicalization_for_mic" value="false"/>
<attribute name="remove_cms_algorithm_protection_attrib" value="false"/>
<!--
Example for adding static custom headers to Mime body part and additionally add to HTTP
<attribute name="custom_mime_headers" value="X-CustomHeader: shift-shape ; X-CustomShape: oblong"/>
<attribute name="add_custom_mime_headers_to_http" value="true"/>
-->
<!--
Example for adding dynamic custom headers to Mime body part using delimiters where filename is of form XXX-YYY-ZZZ or XXX_YYY-ZZZ etc
<attribute name="custom_mime_header_names_from_filename" value="header.X-CustomRouteId,header.X-CustomCenter, junk.extraStuff"/>
<attribute name="custom_mime_header_name_delimiters_in_filename" value="-_"/>
Example for adding dynamic custom headers to Mime body part where filename is of form XXX-YYY.msg
<attribute name="custom_mime_header_names_from_filename" value="X-CustomRouteId,X-CustomCenter"/>
<attribute name="custom_mime_header_names_regex_on_filename" value="([^-]*)-([^.]*).msg"/>
Example for parsing filename into parameters that can be referenced this is a file name of the form XXXNNNN.edi where X is alphabetic and N are numerics
<attribute name="attribute_names_from_filename" value="P-DynamicParm1,P-DynamicParm2"/>
<attribute name="attribute_values_regex_on_filename" value="([A-Za-z]*)([^.]*).edi"/>
-->
</partnership>
</partnerships>
ok 基本的配置讲解完了 如果大家有别的问题请评论讨论!!!!!!!!!!!!