如何使用骆驼路由在activemq中发送wsdl请求体

How to send wsdl request body in activemq using camel route

是否可以使用 camel 路由在活动 mq 中发送 wsdl 请求正文。如果是的话,我可以在下面找到我的示例代码,其中我试图在队列中发送 wsdl 请求主体,但它没有发生。

<route id="report">
            <from id="_from2" uri="direct:reportIncident"/>
            <to id="_to3" uri="activemq:queue:in.incident.report"/>
            <process id="_process1" ref="reportIncidentProcessor"/>
            <to id="_to1" uri="log:output"/>
        </route>

我的 fuse.log 文件出现以下异常

org.apache.camel.ExchangeTimedOutException: The OUT message was not received within: 20000 millis due reply message with correlationID: Camel-ID-NISB-TEC-C3880-54427-1496206891706-5-5 not received on destination: temp-queue://ID:NISB-TEC-C3880-54424-1496206882676-7:1:1. Exchange[ID-TEC-1496206891706-5-4]
    at org.apache.camel.component.jms.reply.ReplyManagerSupport.processReply(ReplyManagerSupport.java:153)[246:org.apache.camel.camel-jms:2.17.0.redhat-630077]
    at org.apache.camel.component.jms.reply.TemporaryQueueReplyHandler.onTimeout(TemporaryQueueReplyHandler.java:62)[246:org.apache.camel.camel-jms:2.17.0.redhat-630077]

默认情况下,Web 服务调用是 InOut,当您发送到 ActiveMQ 时,它会传达相同的样式,因此它会期待您不会收到的回复消息,因此您会看到该异常。

因此,如果您想向 ActiveMQ 发送 InOnly(即发即弃)消息,则需要指定

   <to id="_to3" uri="activemq:queue:in.incident.report"/>

应该是

    <to id="_to3" pattern="InOnly" uri="activemq:queue:in.incident.report"/>

查看更多信息: - http://camel.apache.org/event-message.html - http://camel.apache.org/request-reply.html