obducta
9 years agoSenior Member
Missing operation for soapAction [Abc] and body element [null] with SOAP Version [SOAP 1.1]
I am trying to create a SOAP MockService from my WSDL. This WSDL has an empty request body which seems to cause trouble.
Once I generated and run the service and send a request, following SoapFault is received:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>Server</faultcode> <faultstring>Missing operation for soapAction [Abc] and body element [null] with SOAP Version [SOAP 1.1]</faultstring> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>
Why is no operation for the soapAction with an empty body found? The WSDL specifies, that the body should be empty.
This is my WSDL:
<?xml version="1.0"?> <definitions name="Abc" targetNamespace="http://abc.de/abc/abc/v1" xmlns:tns="http://abc.de/abc/abc/v1" xmlns:sns="http://abc.de/def/v2" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="http://abc.de/abc/abc/v1" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <import namespace="http://abc.de/def/v2" schemaLocation="../../../def/v2/Types.xsd" /> <element name="Abc"> <complexType> <sequence> <any processContents="skip" /> </sequence> </complexType> </element> <element name="AbcResponse"> <complexType> <sequence> <any processContents="skip" /> </sequence> </complexType> </element> </schema> </types> <message name="AbcReq"> <part name="Log" element="sns:LogIDs" /> <part name="DataReq" element="tns:Abc" /> </message> <message name="AbcRsp"> <part name="DataRsp" element="tns:AbcResponse" /> </message> <message name="AbcException"> <part name="FaultDetail" element="sns:FaultInfo" /> </message> <portType name="AbcPort"> <operation name="Abc"> <input message="tns:AbcReq" /> <output message="tns:AbcRsp" /> <fault message="tns:AbcException" name="AbcFault" /> </operation> </portType> <binding name="AbcSoapBinding" type="tns:AbcPort"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="Abc"> <soap:operation soapAction="Abc" /> <input> <mime:multipartRelated> <mime:part> <soap:header message="tns:AbcReq" part="Log" use="literal" /> <soap:body parts="" /> </mime:part> <mime:part> <mime:content part="DataReq" type="text/xml" /> </mime:part> </mime:multipartRelated> </input> <output> <mime:multipartRelated> <mime:part> <soap:body parts="" /> </mime:part> <mime:part> <mime:content part="DataRsp" type="text/xml" /> </mime:part> </mime:multipartRelated> </output> <fault name="AbcFault"> <soap:fault name="AbcFault" /> </fault> </operation> </binding> <service name="AbcService"> <port name="AbcHttpSoapPort" binding="tns:AbcSoapBinding"> <soap:address location="http://localhost:8090/abcservice/" /> </port> </service> </definitions>