肥皂版本 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&SWEExtCmd=Execute&UserName=sadmin&Password=sadmin"/>
</port>
</service>
提前致谢
根据故障信息,很明显请求缺少soapAction
头。
请添加soapAction
适当的值。
Tibco BW 6.3.2 因bug删除了包含soapAction的header-->升级版本到6.3.3,问题已修复
我通过引用绑定调用 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&SWEExtCmd=Execute&UserName=sadmin&Password=sadmin"/>
</port>
</service>
提前致谢
根据故障信息,很明显请求缺少soapAction
头。
请添加soapAction
适当的值。
Tibco BW 6.3.2 因bug删除了包含soapAction的header-->升级版本到6.3.3,问题已修复