Forum Discussion

azl's avatar
azl
New Contributor
17 years ago

Can't recognize operation based on message type

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:


xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">


Server
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]





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]
at
com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRu
nner.java:400)
at
com.eviware.soapui.monitor.MockEngine$ServerHandler.handle(MockEngine.java:
586)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:1
14)
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:52
2)
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]
at
com.eviware.soapui.impl.wsdl.support.soap.SoapUtils.findOperationForRequest
(SoapUtils.java:353)
at
com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchPostRequest(WsdlMo
ckRunner.java:267)
at
com.eviware.soapui.impl.wsdl.mock.WsdlMockRunner.dispatchRequest(WsdlMockRu
nner.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]], 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

5 Replies

  • Hi,

    try setting the "Require SOAP Action" property to false for your MockService (bottom left properties), does that help?

    regards!

    /Ole
    eviware.com
  • eviware support wrote:

    try setting the "Require SOAP Action" property to false for your MockService (bottom left properties), does that help?


    Why this property (its real name is "Skip SOAP Action") is default set to false? I think, that SoapUI should try to work like user want in as many as possible situations. WebServices used in commercial products use recognizing based on message type and if it is not possible, they try to check SOAP Action too.

    Arek
  • eviware support wrote:

    Hi!

    ok.. it (Require SOAP Action) will be false by default in upcoming builds!

    regards,

    /Ole
    eviware.com


    Thanks Ole,

    very much appreciated, especially as it took me some time to find out what's going on, because soapUI sent the fault using Content-Type text/html (and thus was just discarded by JAX-WS, as it expects text/xml).

    Regards,
    Reiner