2017-10-19 103 views
0

在我的代理服務中,我嘗試使用JMS-ActiveMQ創建端點,並且它在uri中失敗。我的JMS端點URI是否正確?在工具380上使用ActiveMQ和EI611。代理服務中的WSO2 ESB端點jms uri語法格式

<?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> 

錯誤:

[二〇一七年十月一十九日17:20:30944] [] ERROR - ClientUtils系統無法從JMS推斷出傳輸信息:/foo.bar運輸?。 jms.ConnectionFactoryJNDIName = QueueConnectionFactory & java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory & java.naming.provider.url = tcp:// localhost:61616 & transport.jms.DestinationType =隊列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 =隊列URL。 at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:81) at org.apache.axis2.client.OperationClient.prepareMessageContext(OperationClient.java:288) at org.apache.axis2.description。 OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:249) at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) at 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) 在有機apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) 在org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121) at org.apache.synapse.mediators .ArbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java :158) at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:213) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache .axis2.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:328) at org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:824) at org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:472) at org.apache.synapse .transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:188) at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:134) at org.apache.axis2.transport.base.AbstractPollingTransportListener $ 1 $ 1.run(AbstractPollingTransportListener.java:67) at org.apache.axis2.transport.base.threads.NativeWorkerPool在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor。 java:1149) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor。 java:624) at java.lang.Thread.run(Thread.java:748) [2017-10-19 17:20:30,958] [] WARN - EndpointContext Endpoint: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 =隊列將被標記爲SUSPENDED as它失敗了

+0

我在axis2.xml和axis2-client.xml中啓用了所有相關的配置。還是一樣的錯誤。 – MaMuDragon

回答

1

好的,那是我的不好。

我沒有完全取消注意axis2.xml(在C:\ wso2ei-6.1.1 \ conf \ axis2)中的下面的條目,導致了這個錯誤。我沒有注意到領先的<!--,但沒有跟蹤-->。當然是一個白癡。

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

在取消後,從源CSV文件變換成一個新的XML格式的數據,根據需要被髮送到的ActiveMQ目的地JMS隊列。