Wso2 传输发送器的正确配置&;接收器JMS?
我有一些问题,因为文件不清楚 我应该如何设置WSO2 ESB环境,以便能够从WSO2 MessageBroker读取和写入消息 我跟着Wso2 传输发送器的正确配置&;接收器JMS?,wso2,wso2esb,Wso2,Wso2esb,我有一些问题,因为文件不清楚 我应该如何设置WSO2 ESB环境,以便能够从WSO2 MessageBroker读取和写入消息 我跟着 我在同一台服务器上有ESB和MB(MB的偏移量=2) /repository/conf/axis2/axis2.xml 我的代理人 <proxy name="SendMessagetoJMSProxy" transports="http" startOnLoad="true"> <target>
<proxy name="SendMessagetoJMSProxy" transports="http" startOnLoad="true">
<target>
<endpoint>
<address uri="jms:/myQueue?&transport.jms.DestinationType=queue"/>
</endpoint>
<inSequence>
<log level="custom">
<property name="STATE" value="message is sent to queue"/>
</log>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
</inSequence>
<outSequence/>
</target>
</proxy>
也许那应该看起来像
<parameter name="java.naming.provider.url" locked="false">file:/home/wso2admin/wso2esb-5.0.0/repository/conf/jndi.properties</parameter>
file:/home/wso2admin/wso2esb-5.0.0/repository/conf/jndi.properties
秒:
此错误与消息生成器和格式化程序有关吗
任何帮助都很好…因为我被困了好几天…请尝试下面的代理并检查您使用的URL格式
<proxy xmlns="http://ws.apache.org/ns/synapse" name="StockQuoteProxy" transports="http">
<target>
<inSequence>
<property action="set" name="OUT_ONLY" value="true"/>
<send>
<endpoint>
<address uri="jms:/myQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<send/>
</outSequence>
</target>
<publishWSDL uri="file:repository/samples/resources/proxy/sample_proxy_1.wsdl"/>
请尝试下面的代理并检查您使用的URL格式
<proxy xmlns="http://ws.apache.org/ns/synapse" name="StockQuoteProxy" transports="http">
<target>
<inSequence>
<property action="set" name="OUT_ONLY" value="true"/>
<send>
<endpoint>
<address uri="jms:/myQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<send/>
</outSequence>
</target>
<publishWSDL uri="file:repository/samples/resources/proxy/sample_proxy_1.wsdl"/>
第一个问题:axis2.xml中的java.naming.provider.url参数是否相对于[ESB Home]位置
不需要,您不需要添加ESB主位置
第二个问题:此错误是否与消息生成器和格式化程序有关
是的,消息生成器出现错误
只需验证是否添加了客户端JAR,并验证代理即可。请创建一个代理,如下所示,然后重试
代理示例:
<proxy name="QueueProxy" startOnLoad="true" transports="jms">
<target>
<inSequence>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<send>
<endpoint>
<address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties"/>
</endpoint>
</send>
</inSequence>
</target>
</proxy>
第一个问题:axis2.xml中的java.naming.provider.url参数是否相对于[ESB Home]位置
不需要,您不需要添加ESB主位置
第二个问题:此错误是否与消息生成器和格式化程序有关
是的,消息生成器出现错误
只需验证是否添加了客户端JAR,并验证代理即可。请创建一个代理,如下所示,然后重试
代理示例:
<proxy name="QueueProxy" startOnLoad="true" transports="jms">
<target>
<inSequence>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
<send>
<endpoint>
<address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties"/>
</endpoint>
</send>
</inSequence>
</target>
</proxy>
感谢拉贾兹和简
我创建了一个代理
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SendMessagetoJMSProxy"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<log level="custom">
<property name="STATE" value="message is sent to myQueue"/>
</log>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
</inSequence>
<outSequence/>
<endpoint>
<address uri="jms:/myQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties"/>
</endpoint>
</target>
<description/>
</proxy>
感谢拉贾兹和简
我创建了一个代理
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SendMessagetoJMSProxy"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<log level="custom">
<property name="STATE" value="message is sent to myQueue"/>
</log>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
</inSequence>
<outSequence/>
<endpoint>
<address uri="jms:/myQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties"/>
</endpoint>
</target>
<description/>
</proxy>
删除“&”:?&不正确。此外,我认为您甚至不需要jms destinationtype,因为您将队列配置为“默认”。在我的例子中,我已经在axis2 xml中的“transportsender”参数中添加了一个队列,但我有一个activeMQ而不是MB,因此它不是100%可比的。感谢Jan的评论,但我想知道我们是否在axis2.xml中为transportReceiver使用JMS配置部分,为什么我们不能只告诉代理我们需要的参数名称??为什么我们再次设置ConnectionFactoryJNDIName、ConnectionFactoryType..etc。。?我们能不能放点像。。。它应该选择默认的JMS设置??删除“&”:?&是不正确的。此外,我认为您甚至不需要jms destinationtype,因为您将队列配置为“默认”。在我的例子中,我已经在axis2 xml中的“transportsender”参数中添加了一个队列,但我有一个activeMQ而不是MB,因此它不是100%可比的。感谢Jan的评论,但我想知道我们是否在axis2.xml中为transportReceiver使用JMS配置部分,为什么我们不能只告诉代理我们需要的参数名称??为什么我们再次设置ConnectionFactoryJNDIName、ConnectionFactoryType..etc。。?我们能不能放点像。。。它应该选择默认的JMS设置???在这里,您正在使用activemq进行配置。它应该随MB配置而更改。在这里,您使用activemq进行配置。它应该随MB配置而改变
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SendMessagetoJMSProxy"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<log level="custom">
<property name="STATE" value="message is sent to myQueue"/>
</log>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
</inSequence>
<outSequence/>
<endpoint>
<address uri="jms:/myQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties"/>
</endpoint>
</target>
<description/>
</proxy>
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="SendMessagetoJMSProxy2"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<log level="custom">
<property name="STATE" value="message is sent to GST_TMS_ASSOCIATE_LEASE Queue"/>
</log>
<property name="OUT_ONLY" value="true"/>
<property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
</inSequence>
<outSequence/>
<endpoint>
<address uri="jms:/myQueue"/>
</endpoint>
</target>
<description/>
</proxy>