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

Ft Lemm Lu picture Ft Lemm Lu · Oct 21, 2016 · Viewed 10.8k times · Source

I'm invoking Soap service via invoke activity with a reference binding, in the binding tab I'm using soapui Mock parameters (host, port : in the http client and URI), when debugging I'm facing this error :

[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>
]

any idea please ?

Below is the wsdl file:

<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>

Thanks in advance

Answer

Rao picture Rao · Oct 21, 2016

It is clear that the request is missing soapAction header based on the fault message.

Please add the soapAction with appropriate value.