1.修改wsdl 协议类型为 jms 替换 <soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http"/>为 <soap:binding style="document"transport="http://cxf.apache.org/transports/jms"/>2.根据wsdl生成服务端代码,前提安装cxf,请参看 http://www.cnblogs.com/yun965861480/p/7400552.html wsdl2java -server -impl -encoding UTF8 -d E:workwaikuaipomcxfsrcmainjava cxfEsbJmsServer.wsdl 3.配置服务端 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:cxf="http://cxf.apache.org/core"xmlns:soap="http://cxf.apache.org/bindings/soap"xmlns:jaxws="http://cxf.apache.org/jaxws"xmlns:jms="http://cxf.apache.org/transports/jms"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schema/bindings/soap.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/transports/jms http://cxf.apache.org/schemas/configuration/jms.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <jaxws:endpoint id="esbJmsServer"implementor="com.midea.service.fxms.abstraction.atomic.technology_esbjmsserver.v1.EsbJmsServerPortImpl"address="jms://"> <jaxws:properties> <entry key="org.apache.cxf.message.Message.ENCODING"value="UTF-8" /> </jaxws:properties> <jaxws:features> <bean class="org.apache.cxf.feature.LoggingFeature" /> <bean class="org.apache.cxf.transport.jms.JMSConfigFeature"> <property name="jmsConfig"> <ref bean="esbJmsServerJmsConfig" /> </property> </bean> </jaxws:features> <jaxws:inInterceptors> <bean class="com.srcb.esb.interceptor.MediatorInterceptor"></bean> </jaxws:inInterceptors> </jaxws:endpoint> <bean id="esbJmsServerJmsConfig"class="org.apache.cxf.transport.jms.JMSConfiguration"p:connectionFactory-ref="jmsConnectionFactory"p:targetDestination="LOCALQ.P.FXMS.REQ" /> <bean id="jmsConfig"class="org.apache.cxf.transport.jms.JMSConfiguration"p:connectionFactory-ref="jmsConnectionFactory"p:targetDestination="LOCALQ.P.ESBPRO.REQ" /> <bean id="jmsConnectionFactory"class="org.springframework.jms.connection.CachingConnectionFactory"> <property name="targetConnectionFactory"> <bean class="com.ibm.mq.jms.MQConnectionFactory"> <property name="channel"value="SYSTEM.DEF.SVRCONN"></property> <!--MQ网关集群,多个以逗号隔开 --> <property name="connectionNameList"value="10.16.24.180(11101),10.16.24.181(12101)"></property> <property name="CCSID"value="1381"></property> <property name="transportType"value="1"></property> </bean> </property> </bean> </beans>4.生成客户端代码 wsdl2java -client -impl -encoding UTF8 -d E:workwaikuaipomcxfcxf_jms_clientsrcmainjava cxfEsbJmsServer.wsdl 5.配置客户端 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:cxf="http://cxf.apache.org/core"xmlns:soap="http://cxf.apache.org/bindings/soap"xmlns:jaxws="http://cxf.apache.org/jaxws"xmlns:jms="http://cxf.apache.org/transports/jms"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schema/bindings/soap.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://cxf.apache.org/transports/jms http://cxf.apache.org/schemas/configuration/jms.xsd"> <import resource="classpath:META-INF/cxf/cxf.xml" /> <!--utf-8 配置,和 日志配置 --> <cxf:bus> <cxf:properties> <entry key="org.apache.cxf.message.Message.ENCODING"value="UTF-8" /> </cxf:properties> <cxf:features> <cxf:logging/> </cxf:features> </cxf:bus> <jaxws:client id="esbJmsServerClient"xmlns:s="http://fxms.service.midea.com/abstraction/atomic/technology.EsbJmsServer/v1"serviceClass="com.midea.service.fxms.abstraction.atomic.technology_esbjmsserver.v1.EsbJmsServerPortType"serviceName="s:EsbJmsServer"endpointName="s:EsbJmsServerPort"wsdlLocation="classpath:cxf/EsbJmsServer.wsdl"address="jms://"> <jaxws:properties> <!--修改默认的SOAP编码 --> <entry key="org.apache.cxf.message.Message.ENCODING"value="UTF-8" /> </jaxws:properties> <jaxws:features> <!--增加日志特征 --> <bean class="org.apache.cxf.feature.LoggingFeature" /> <!--注入JMS配置对象 --> <bean class="org.apache.cxf.transport.jms.JMSConfigFeature"> <property name="jmsConfig"> <ref bean="ftmsJmsConfiguration" /> </property> </bean> </jaxws:features> </jaxws:client> <bean id="ftmsJmsConfiguration"class="org.apache.cxf.transport.jms.JMSConfiguration"p:connectionFactory-ref="jmsConnectionFactory"p:targetDestination="LOCALQ.C.FTMS.REQ"p:replyDestination="LOCALQ.FTMS.RSP"> <!--超时时间(ms) --> <property name="receiveTimeout"value="80000"></property> <!--消息持久性:‘1‘表示非持久;‘2‘表示持久;默认为‘2‘ --> <property name="deliveryMode"value="1"></property> <property name="explicitQosEnabled"value="true"></property> </bean> <bean id="jmsConnectionFactory"class="org.springframework.jms.connection.SingleConnectionFactory"> <property name="targetConnectionFactory"> <bean class="com.ibm.mq.jms.MQConnectionFactory"> <property name="channel"value="SYSTEM.DEF.SVRCONN"></property> <!--16777216:不同队列管理器名;67108864:相同队列管理器名 --> <property name="clientReconnectOptions"value="16777216"></property> <!--队列管理器IP及PORT列表,优先连接第1个地址 --> <property name="connectionNameList"value="10.16.24.180(11001),10.16.24.181(12001)"></property> <!--<property name="connectionNameList" value="10.16.12.98(11001),10.16.12.99(12001)"></property> --> <!--<property name="connectionNameList" value="10.16.13.122(11001)"></property> --> <!--<property name="connectionNameList" value="10.16.10.72(11001)"></property> --> <!--<property name="connectionNameList" value="127.0.0.1(11001)"></property> --> <property name="CCSID"value="1381"></property> <property name="transportType"value="1"></property> </bean> </property> </bean> </beans>
IBM MQ 集成CXF 发送JMS 消息
免责声明:文章转载自《IBM MQ 集成CXF 发送JMS 消息》仅用于学习参考。如对内容有疑问,请及时联系本站处理。
上篇java倒计时三种简单实现方式System.Net.Mail.SmtpClient通过SSL/TLS协议发送邮件失败问题解决下篇
宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=