Forum Discussion

cwong15's avatar
14 years ago

MockService cannot handle MTOM/XOP SOAP 1.2 requests

I have set up a MockService to handle MTOM/XOP SOAP 1.2 requests that work fine on a normal SOAP endpoint. If I disable MTOM marshalling, the service correctly inteprets the request as SOAP 1.2 and handles the request just fine. Otherwise, I get an exception at SoapUI. This is the payload sent to SoapUI's MockService:

------=_Part_0_6705311.1317911686384

Content-Type: application/xop+xml; charset=utf-8; type="application/soap+xml"

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header/><env:Body>...</env:Body></env:Envelope>

------=_Part_0_6705311.1317911686384--


This uses the XOP packaging using MIME. It appears that SoapUI 4.0.1 is confused by the MIME boundaries and fails to parse the request. This is the exception that is logged on SoapUI:

Thu Oct 06 10:34:46 EDT 2011:ERROR:com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [] and body element [null] with SOAP Version [SOAP 1.1]
com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [] and body element [null] with SOAP Version [SOAP 1.1]
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchPostRequest(WsdlMockRunner.java:318)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:375)
at com.eviware.soapui.monitor.JettyMockEngine$ServerHandler.handle(JettyMockEngine.java:714)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
No RepliesBe the first to reply