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

Oracle 在WSO2中发送JMS消息而不在代理定义中指定所有JMS参数,oracle,jms,wso2,Oracle,Jms,Wso2,我得到了一个WSO2示例,可以基于它与Oracle合作 我的问题是:不必在代理中指定所有JMS连接参数,是否可以在axis2.xml中定义传输发送方并在代理中引用它,类似于对接收方的操作?我尝试定义发件人并将地址缩减为目标名称,如下所示。它有点有效,但我偶尔会遇到一个错误: org.apache.axis2.AxisFault: The system cannot infer the transport information from the /services/WsdlToJmsSender

我得到了一个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文件中定义它。我不确定在axis2文件中定义它比在单个端点中定义它有什么好处

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

<endpoint key="your_EP"/>


其中,
key
attribute是您为端点设置的名称。

保存端点时,我会得到“提供的URI无效”(请参阅我的OP中的“我的新地址”部分)。看起来他不喜欢LDAP路径所需的URI中的逗号。另一方面,尽管该解决方案会使代理定义更清晰,但我仍然必须包含每个端点的所有JMS连接参数。我希望找到一种解决方案,在一个中心点指定所有JMS连接内容,无论是axis2.xml还是其他地方,并且在定义我的端点或代理时只指定发送方名称(或您想叫它的任何名称)和队列名称。@Ya.:在您提供的地址URI中,您没有关闭双引号。定义端点使您能够更灵活地为不同的服务器/配置使用不同的参数。这是一个&p错误。我指定的实际URI是:jms:/cn=tro_Q_JMS2,cn=OracleDBQueues,cn=ORCL,cn=OracleContext,ou=Service,so=sgi,c=us?transport.jms.ConnectionFactoryJNDIName=cn=tro_jms cn=oracledbconnections cn=ORCL cn=OracleContext ou=Services o=sgi c=us&java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory&java.naming.provider.url=ldap://localhost:10389/&transport.jms.DestinationType=queue&server_dn=cn=ORCL cn=OracleContext ou=Services o=sgi c=us&java.naming.security.principal=uid=tromanow ou=Services o=sgic=us&java.naming.security.credentials=tromanow&java(…cont.)我找到了解决URI验证问题的方法。1-使用虚拟但有效的URI填写地址2-切换到代码视图并在那里编辑地址3-保存并关闭。这将绕过验证并欺骗它接受逗号。不幸的是,在进行修改时必须重复。对我来说好像是个虫子。
<endpoint key="your_EP"/>