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

11,943

Tibco BW 6.3.2 remove the header that contains soapAction due to a bug--> upgrading version to 6.3.3 , the problem is fixed

Share:
11,943
Ft Lemm Lu
Author by

Ft Lemm Lu

Updated on June 04, 2022

Comments

  • Ft Lemm Lu
    Ft Lemm Lu almost 2 years

    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

  • Ft Lemm Lu
    Ft Lemm Lu over 7 years
    the problem is the soap Action exists in the wsdl
  • Rao
    Rao over 7 years
    Well, the request has to have it.
  • Ft Lemm Lu
    Ft Lemm Lu over 7 years
    I'm using Tibco BW 6 I'm just mapping the input message I think this generated automatically
  • Rao
    Rao over 7 years
    Is your client also in tibco-bw?
  • Ft Lemm Lu
    Ft Lemm Lu over 7 years
    In fact the problem is a bug with BW 6.3.2 after upgrading to 6.3.3 the stack is fixed
  • Rao
    Rao over 7 years
    Oh, ok. glad to know.
  • AriesConnolly
    AriesConnolly about 4 years
    Please add the soapAction with appropriate value. - C# is making this extremely difficult. It should be as simple as client.Header = whatever but instead it's some kind of evil monstrosity involving about 20 lines of code!