我根据http://wso2.com/library/tutorials/2011/11/configuring-wso2-esb-with-oracle-as-messaging-media/获得了一个WSO2示例,以便与Oracle合作。
我的问题是:不必在代理中指定所有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>
答案 0 :(得分:0)
您可以创建一个单独的端点组件( Main - &gt; Manage - &gt; Service Bus - &gt; Endpoints
,而不是尝试在 axis2.xml 文件中定义它。 em>),然后在代理服务(或多个代理)中引用该端点。我不确定通过单个端点在axis2文件中定义它会带来什么好处。因此,在您定义它之后,您可以通过以下方式在代理中引用它:
<endpoint key="your_EP"/>
其中key
属性是您为端点设置的名称。