Web services 使用Camel CXF调用WS时缺少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

我们正在尝试使用camelcxf/Fuse和有效负载数据格式调用Soap服务。有时,客户端拒绝请求,说缺少SOAPAction,这是断断续续的。我们有没有办法在服务调用期间专门设置SOAPAction?在哪些情况下,我们无法发送SOAPAction?下面是我们用于调用的配置

<!-- 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头中提供?