肥皂版本 1.1 BW6 缺少 soapAction“”和主体元素“”的操作

Missing operation for soapAction "" and body element "" with soap version 1.1 BW6

我通过引用绑定调用 activity 来调用 Soap 服务,在绑定选项卡中我使用 soapui Mock 参数(主机、端口:在 http 客户端和 URI 中),调试时我面临这个错误:

[Fatal Error] :1:1: Content is not allowed in prolog.

11:15:58.805 ERROR [bwEngThread:In-Memory Process Worker-5] com.tibco.bw.core - TIBCO-BW-CORE-500050: The BW process [Applications.DOM_OPALE.CLOE.CreationBondecommande.CreationBonDeCommande_1-SOAPExtClient] instance faulted, JobId [bw0a102], ProcessInstanceId [bw0a102], ParentProcessInstanceId [bw0a101], Module [ProcessorBusinessShared:1.0.0.0], Application [CloeAdapterOut.application:1.0]. 

   <CausedBy> TIBCO-BW-CORE-500052: Invoke activity [CreationBonDeCommande] fault. 

   <CausedBy> com.tibco.bw.binding.soap.DefaultFault: TIBCO-BW-BINDING-SOAP-550100: Received SOAP Fault from the service provider of the Operation [{OPA}CreationBonDeCommande], SoapReferenceBinding [SOAPReferenceBinding], Application [CloeAdapterOut.application:1.0].  SOAP Fault received: [<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <soapenv:Fault>
            <faultcode>Server</faultcode>
            <faultstring>Missing operation for soapAction [rpc/OPA:CreationBonDeCommande] and body element [CreationBonDeCommande] with SOAP Version [SOAP 1.1]</faultstring>
        </soapenv:Fault>
    </soapenv:Body>
</soapenv:Envelope>
]

有什么想法吗?

以下是 wsdl 文件:

<message name="CreationBonDeCommande_Input">
    <part name="InputMessage" type="xsdLocal0:InputTopElmtData"/>
</message>
<message name="CreationBonDeCommande_Output">
    <part name="OutputMessage" type="xsdLocal1:OutputTopElmtData"/>
</message>

<portType name="OPA_CreationBonDeCommande">
    <operation name="CreationBonDeCommande">
        <input message="tns:CreationBonDeCommande_Input"/>
        <output message="tns:CreationBonDeCommande_Output"/>
    </operation>

</portType>

<binding name="OPA_CreationBonDeCommande" type="tns:OPA_CreationBonDeCommande">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="CreationBonDeCommande">
        <soap:operation soapAction="rpc/OPA:CreationBonDeCommande" />
        <input>
            <soap:body namespace="OPA" use="literal"/>
        </input>
        <output>
            <soap:body namespace="OPA" use="literal"/>
        </output>
    </operation>
</binding>
<service name="OPA_CreationBonDeCommande_WS">
    <port binding="tns:OPA_CreationBonDeCommande" name="OPA_CreationBonDeCommande">
        <soap:address location="http://<web_server></web_server>/eai_fra/start.swe?SWEExtSource=WebService&amp;SWEExtCmd=Execute&amp;UserName=sadmin&amp;Password=sadmin"/>
    </port>
</service>

提前致谢

根据故障信息,很明显请求缺少soapAction头。

请添加soapAction适当的值。

Tibco BW 6.3.2 因bug删除了包含soapAction的header-->升级版本到6.3.3,问题已修复