Forum Discussion

lmcdjma's avatar
14 years ago

Missing operation for soapAction

Hi,

I used SoapUi 3.5 and 3.6 and I am experiencing the following error that I don't undrstand:



<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>Server</faultcode>
<faultstring>Missing operation for soapAction [] and body element [{http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2}SubmitReq] with SOAP Version [SOAP 1.1]</faultstring>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>



My request is the following:


<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Header>
<rel:TransactionID xmlns:rel="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2" env:mustUnderstand="1">BEA1-00121E7D4122</rel:TransactionID>
</env:Header>
<env:Body>
<rel:SubmitReq xmlns:rel="http://www.3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-MM7-1-2">
<rel:MM7Version>5.3.0</rel:MM7Version>
<rel:SenderIdentification>
<rel:VASPID>VaspId</rel:VASPID>
<rel:VASID>VasId</rel:VASID>
<rel:SenderAddress>
<rel:Number>7878</rel:Number>
</rel:SenderAddress>
</rel:SenderIdentification>
<rel:Recipients>
<rel:To>
<rel:Number>1234</rel:Number>
</rel:To>
</rel:Recipients>
<rel:DeliveryReport>true</rel:DeliveryReport>
<rel:Priority>Normal</rel:Priority>
<rel:Subject>Hello, world</rel:Subject>
</rel:SubmitReq>
</env:Body>
</env:Envelope>


I don't know what make in this request to complain about the SOAPAction, I have even added the SOAPAction in my header request to "" empty string but still hanging.

Thanks for any help


my wsdl:


<s0:definitions name="parlayx_mm_send_service" targetNamespace="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/send/v2_4/service" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:s2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:s3="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/send/v2_4/interface" xmlns:s4="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s5="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/send/v2_4/service" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<s0:import location="http://localhost:8001/parlayx21/multimedia_messaging/SendMessage?WSDL/parlayx_mm_send_interface_2_4.wsdl" namespace="http://www.csapi.org/wsdl/parlayx/multimedia_messaging/send/v2_4/interface"/>
<s1:Policy s2:Id="Auth.xml">
<wssp:Identity xmlns:wssp="http://www.bea.com/wls90/security/policy">
<wssp:SupportedTokens>
<wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken">
<wssp:UsePassword Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"/>
</wssp:SecurityToken>
<wssp:SecurityToken TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wssp:SupportedTokens>
</wssp:Identity>
</s1:Policy>
<wsp:UsingPolicy s0:Required="true"/>
<s0:binding name="SendMessageBinding" type="s3:SendMessage">
<s4:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<s0:operation name="sendMessage">
<s4:operation style="document"/>
<s0:input>
<s4:body use="literal"/>
<wsp:Policy>
<wsp:PolicyReference URI="#Auth.xml"/>
</wsp:Policy>
</s0:input>
<s0:output>
<s4:body use="literal"/>
</s0:output>
<s0:fault name="ServiceException">
<s4:fault name="ServiceException" use="literal"/>
</s0:fault>
<s0:fault name="PolicyException">
<s4:fault name="PolicyException" use="literal"/>
</s0:fault>
</s0:operation>
<s0:operation name="getMessageDeliveryStatus">
<s4:operation style="document"/>
<s0:input>
<s4:body use="literal"/>
<wsp:Policy>
<wsp:PolicyReference URI="#Auth.xml"/>
</wsp:Policy>
</s0:input>
<s0:output>
<s4:body use="literal"/>
</s0:output>
<s0:fault name="ServiceException">
<s4:fault name="ServiceException" use="literal"/>
</s0:fault>
<s0:fault name="PolicyException">
<s4:fault name="PolicyException" use="literal"/>
</s0:fault>
</s0:operation>
</s0:binding>
<s0:service name="SendMessageService">
<s0:port binding="s5:SendMessageBinding" name="SendMessage">
<s4:address location="http://localhost:8001/parlayx21/multimedia_messaging/SendMessage"/>
</s0:port>
</s0:service>
</s0:definitions>

3 Replies

  • I'm experiencing something similar. I have a mock service that uses a query_match to control the dispatch. One of the responses contains script to create a new secondary request while copying in certain information from the original. The first time I execute the mock service's request, it works fine. I can verify both the reply from the mock service and the secondary request are sent. The second time I send the request, I get:

    Tue Oct 26 12:00:19 CDT 2010:ERROR:com.eviware.soapui.impl.wsdl.mock.DispatchException: Missing operation for soapAction [http://tempuri] and body element [null] with SOAP Version [SOAP 1.1]


    I take this to mean it can't find the response I'm trying to get the mock service to reply with, but I don't know why. Any suggestions? Are there "typical" reasons one would see this error?

    Thanks,
    Alex
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi!

    this error occurs if soapUI is unable to match the incoming request to any of the defined Mock Operations (which it does using the underlying WSDL definition). In these two cases:

    1) Looks correct; can you attach a soapUI Project that we could use to reproduce this? (ie with the WSDL, MockService and request)
    2) Judging from the error message the request is not a valid SOAP request; can you somehow log it (or run your requests through the HTTP Monitor) so you can see exactly what is being sent?

    regards!

    /Ole
    eviware.com
    • MatthiasBuck's avatar
      MatthiasBuck
      Occasional Contributor

      I noticed that this error also shows when you have two Mock Response steps serving the same Port/URL even though only one is enabled (not disabled). When I delete the disabled step, it works fine.

       

      When I hit the URL with ?wsdl at the end, I can see the running services.

      Another problem is, when I stop the test cases and restart them, more and more running services with the same endpoint get added.

       

      Here is what the server shows me when using my URL with ?wsdl attached to the end of it.

      There are currently 4 running SoapUI MockServices

       

      • NotificationSvc
      • SOAP Mock Response
      • SOAP Mock Response
      • SOAP Mock Response