【问题标题】:WSO2 ESB endpoint jms uri syntax-format in proxy service代理服务中的 WSO2 ESB 端点 jms uri 语法格式
【发布时间】:2017-10-19 11:58:51
【问题描述】:

在我的代理服务中,我尝试使用 JMS-ActiveMQ 创建端点,但它在 uri 中失败。我的 JMS 端点 uri 是否正确?我在 tooling380 上使用 ActiveMQ 和 EI611。

<?xml version="1.0" encoding="UTF-8"?>
<proxy name="CSVProcessor" startOnLoad="true" transports="vfs" xmlns="http://ws.apache.org/ns/synapse">
<target>
    <inSequence>
        <log level="full"/>
        <smooks config-key="smooks-config" description="GetSmooks">
            <input type="text"/>
            <output type="xml"/>
        </smooks>
        <log description="GetData" level="full"/>
        <datamapper config="gov:datamapper/NewConfig.dmc" description="MapPriceData" inputSchema="gov:datamapper/NewConfig_inputSchema.json" inputType="XML" outputSchema="gov:datamapper/NewConfig_outputSchema.json" outputType="XML"/>
        <log description="LogDataMapper" level="full"/>
        <property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
        <send>
            <endpoint>
                <address uri="jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue"/>
            </endpoint>
        </send>
    </inSequence>
    <outSequence/>
    <faultSequence/>
</target>
<parameter name="transport.PollInterval">5</parameter>
<parameter name="transport.vfs.FileURI">file://c:\test-data\in</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file://c:\test-data\original</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.csv</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file://c:\test-data\out</parameter>
</proxy>

错误:

[2017-10-19 17:20:30,944] [] 错误 - ClientUtils 系统无法从 jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial= 推断传输信息org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue URL。 [2017-10-19 17:20:30,948] [] 错误 - Axis2Sender 发送消息期间出现意外错误 org.apache.axis2.AxisFault:系统无法从jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming推断传输信息。 provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue URL。 在 org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:81) 在 org.apache.axis2.client.OperationClient.prepareMessageContext(OperationClient.java:288) 在 org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:249) 在 org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) 在 org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595) 在 org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83) 在 org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) 在 org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) 在 org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) 在 org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) 在 org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) 在 org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) 在 org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:213) 在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 在 org.apache.axis2.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:328) 在 org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:824) 在 org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:472) 在 org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:188) 在 org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:134) 在 org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.run(AbstractPollingTransportListener.java:67) 在 org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) [2017-10-19 17:20:30,958] [] WARN - EndpointContext 端点:AnonymousEndpoint 地址为 jms:/foo.bar?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi .ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.DestinationType=queue 将被标记为 SUSPENDED 因为它失败了

【问题讨论】:

  • 我在axis2.xml和axis2-client.xml中启用了所有相关配置。还是一样的错误。

标签: wso2 wso2esb


【解决方案1】:

好吧,那是我的错。

我没有完全取消对axis2.xml(在C:\wso2ei-6.1.1\conf\axis2 中)中的以下条目的注释,这导致了这个错误。我取消了前导 &lt;!-- 的注释,但没有取消注释尾随 --&gt;。我肯定是个白痴。

<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/>

取消注释后,将源 CSV 文件转换为新的 XML 格式的数据,根据需要发送到 ActiveMQ 的目标 jms 队列。

【讨论】:

    猜你喜欢
    • 2013-07-05
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多