Web services 使用Camel CXF调用WS时缺少SOAPAction标头
我们正在尝试使用camelcxf/Fuse和有效负载数据格式调用Soap服务。有时,客户端拒绝请求,说缺少SOAPAction,这是断断续续的。我们有没有办法在服务调用期间专门设置SOAPAction?在哪些情况下,我们无法发送SOAPAction?下面是我们用于调用的配置Web services 使用Camel CXF调用WS时缺少SOAPAction标头,web-services,apache-camel,cxf,jax-ws,jbossfuse,Web Services,Apache Camel,Cxf,Jax Ws,Jbossfuse,我们正在尝试使用camelcxf/Fuse和有效负载数据格式调用Soap服务。有时,客户端拒绝请求,说缺少SOAPAction,这是断断续续的。我们有没有办法在服务调用期间专门设置SOAPAction?在哪些情况下,我们无法发送SOAPAction?下面是我们用于调用的配置 <!-- CXF configuration pointing to WSDL URL and service Name --> <cxf:cxfEndpoint id="abcSOAPCPOut
<!-- CXF configuration pointing to WSDL URL and service Name -->
<cxf:cxfEndpoint id="abcSOAPCPOutbound"
wsdlURL="wsdl/FooService.wsdl"
endpointName="cNS:FooServiceSoap"
serviceName="cNS:FooService"
address="http://example.com/processRequest.asmx"
xmlns:cNS="http://www.example.com"
loggingFeatureEnabled="false">
<cxf:inInterceptors>
<ref bean="GZIPInInterceptor"/>
</cxf:inInterceptors>
<cxf:outInterceptors>
<ref bean="iuABCSOAPOutboundInterceptor"/>
</cxf:outInterceptors>
</cxf:cxfEndpoint>
<!-- Came route for invoking service with operationName header set -->
<route id="iuFooOutboundRoute">
<from uri="direct-vm:iuOutboundtoFoo"/>
<setHeader headerName="operationName" >
<constant>FooSync</constant>
</setHeader>
<convertBodyTo type="String"/>
<!-- Send to Colibrium -->
<to uri="cxf:bean:abcSOAPCPOutbound?dataFormat=PAYLOAD"/>
<process ref="extractHTTPStatusCode"/>
</route>
食品同步
如果在调用服务之前将camel头设置为SOAPAction,是否会导致任何问题?是
与操作名称相同的方法:
<setHeader headerName="SOAPAction">
<constant>DummyOperation</constant>
</setHeader>
Dummy手术
你可以参考这里-我认为不会有任何问题,因为这似乎是官方的做法,关于最后的哪个州“请注意,默认的CXF调度客户端不发送特定的SOAPAction头。因此,当目标服务需要一个特定的SOAPAction值时,它将使用键SOAPAction(不区分大小写)在Camel头中提供?