I am using SoapUI to test the .NET web service that will be used by the Java client application.
When I connect my web service to SoapUI, but update my WSDL location and call one of the pre-installed test scripts, the web service crashes using the following code
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <soap:Fault> <faultcode>soap:Client</faultcode> <faultstring>System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: urn:mycode:us:gu:das:supplierengagement:v02:SupplierEngagement:/AppointSupplier. at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest() at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message) at System.Web.Services.Protocols.SoapServerProtocol.Initialize() at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing) </faultstring> <detail/> </soap:Fault> </soap:Body> </soap:Envelope>
As you can see from the above error, the problem is that the SOAPAction parameter has an extra slash.
I use the following class attribute:
<WebService(Namespace:= "urn:mycode:us:gu:das:supplierengagement:v02:SupplierEngagement:AppointSupplier")>
and the following method call attribute:
<WebMethod(MessageName:="appointSupplierRq")>
Of these .Net adds a slash.
It should be possible to remove the slash that will be automatically generated.
source share