Menu

#441 Can't recognize operation based on message type

open
nobody
general (369)
5
2014-12-01
2009-07-06
No

Hi!

I sent a following request from command line

curl http://localhost:8090/mockWeatherSummary -d "`cat req2.txt`"

to already started in soapUI 2.5.2 Mockservice.

The output in command line was following:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>Server</faultcode>
<faultstring>com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [null] and body element [{http://www.roguewave.com/soapworx/examples}getSummary] with SOAP Version [SOAP 1.1] MAKRER 2</faultstring>
</soapenv:Fault>
</soapenv:Body>

and got an error in debugger:

16:04:08,972 DEBUG [MockEngine] WeatherSummary MockService was unable to dispatch mock request
com.eviware.soapui.impl.wsdl.mock.DispatchException: com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [null] and body element [{http://www.roguewave.com/soapworx/examples}getSummary] with SOAP Version [SOAP 1.1] MAKRER 2
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:400)
at com.eviware.soapui.monitor.MockEngine$ServerHandler.handle(MockEngine.java:586)
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:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [null] and body element [{http://www.roguewave.com/soapworx/examples}getSummary] with SOAP Version [SOAP 1.1] MAKRER 2
at com.eviware.soapui.impl.wsdl.support.soap.SoapUtils.findOperationForRequest(SoapUtils.java:353)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchPostRequest(WsdlMockRunner.java:267)
at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:390)
... 11 more
16:04:08,975 ERROR [SoapUI] An error occured [com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [null] and body element [{http://www.roguewave.com/soapworx/examples}getSummary] with SOAP Version [SOAP 1.1] MAKRER 2], see error log for details

The project file, wsdl file, full log error and curl file('reg2.txt) are attached.

thx for any help,

andrzej

SoapUI 2.5.1, trunk
Java 1.6.0_13
Ubuntu 9.04

Discussion

  • Andrzej Zaleski

    Andrzej Zaleski - 2009-07-06
     
  • Anonymous

    Anonymous - 2011-05-31

    I think this is a bug. multipart/related RFC allows the Content-Type start parameter to be omitted if the root part is the first of the body parts.

    Based on the xref source code online, looks like there is some code in MultipartMessageSupport intended to comply with this:

    // if no explicit root part has been set, use the first one in the result
    if( operation != null && rootPart == null )
    rootPart = attachments.remove( 0 );

    ...but WsdlMockRequest always creates a MultipartMessageSupport with a null operation meaning it's never called.

    Can't currently find a way to get JAX-WS / SAAJ to add in the start reference meaning SoapUI cannot handle any of the messages with attachments we're sending at it.

     
  • Anonymous

    Anonymous - 2011-05-31

    Actually, that's a different bug. The above stack trace shows at least a body. We have body = null:

    Tue May 31 11:23:05 NZST 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:327)
    at com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRunner.java:384)

     

    Last edit: Anonymous 2015-11-30
  • robert

    robert - 2011-05-31

    Hi,

    Does this happens with newer versions of soapUI?

    robert

     
  • Nobody/Anonymous

    Hello,

    actualy, this is not a bug. SOAP 1.1 requires a SOAPAction header to identify the operation. There is an option for the MockService to not require SOAPAction and only dispatch based on the actual message body. Changing that property (bottom left for MockService) to false should be enough.

    Regards,
    Vladimir
    www.eviware.com

     

Log in to post a comment.