基于OpenAS2 V2.3.0的使用心得 二 之配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 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 基本的配置讲解完了 如果大家有别的问题请评论讨论!!!!!!!!!!!!


猜你喜欢

转载自blog.csdn.net/qq_34359363/article/details/72732194