首页 文章

在WSO2中发送JMS消息,而不指定代理定义中的所有JMS参数

提问于
浏览
1

我得到了一个基于http://wso2.com/library/tutorials/2011/11/configuring-wso2-esb-with-oracle-as-messaging-media/与Oracle合作的WSO2示例 .

我的问题是:不是必须在代理中指定所有JMS连接参数,是否可以在axis2.xml中定义传输发送方并在代理中引用它,类似于使用接收方的方式?我尝试定义发件人并将地址减少到目标名称,如下所示 . 它有点工作,但偶尔我得到一个错误:

org.apache.axis2.AxisFault: The system cannot infer the transport information from the /services/WsdlToJmsSender URL

我的新地址:

<address uri="jms:/cn=tro_Q_JMS2,cn=OracleDBQueues,cn=ORCL,cn=OracleContext,ou=Services, o=sgi,c=us/>

我的axis2.xml:

<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender">
        <parameter name="default" locked="false">
            <parameter name="java.naming.factory.initial" locked="false">com.sun.jndi.ldap.LdapCtxFactory</parameter>
            <parameter name="java.naming.provider.url" locked="false">ldap://localhost:10389/</parameter>
            <parameter name="server_dn" locked="false">cn=ORCL,cn=OracleContext,ou=Services, o=sgi,c=us</parameter>
            <parameter name="java.naming.security.principal" locked="false">uid=tromanow,ou=Services,o=sgi,c=us</parameter>
            <parameter name="java.naming.security.credentials" locked="false">tromanow</parameter>
            <parameter name="java.naming.security.authentication" locked="false">simple</parameter>
            <parameter name="transport.jms.UserName" locked="false">tromanow</parameter>
            <parameter name="transport.jms.Password" locked="false">tromanow</parameter>
            <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">cn=tro_jms,cn=oracledbconnections,cn=ORCL, cn=OracleContext,ou=Services, o=sgi,c=us</parameter>
            <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
        </parameter>
  </transportSender>

1 回答

  • 0

    您可以创建单个 endpoints 组件(主 - >管理 - >服务总线 - > endpoints ),然后在代理服务(或多个代理)中引用该 endpoints ,而不是尝试在axis2.xml文件中定义它 . 我不确定通过单个 endpoints 在axis2文件中定义它会带来什么好处 .

    因此,在您定义它之后,您可以通过以下方式在代理中引用它:

    <endpoint key="your_EP"/>
    

    其中 key 属性是您为 endpoints 设置的名称 .

相关问题