ruby-on-rails-3soapwsdlsavonwash-out

How to solve the "cannot find soap action mapping for" soap api?


The request for soap api is given below

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:WashOut"
  <soapenv:Header/>
  <soapenv:Body>
  <urn:Activate_VAS_Request soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
     <OPER_NAME xsi:type="xsd:string">?</OPER_NAME>
     <OPER_PASSWORD xsi:type="xsd:string">?</OPER_PASSWORD>
     <MSISDN xsi:type="xsd:string">?</MSISDN>
     <VAS_ID xsi:type="xsd:int">?</VAS_ID>
     <PARAM_VAL xsi:type="xsd:string">?</PARAM_VAL>
  </urn:Activate_VAS_Request>
  </soapenv:Body>
</soapenv:Envelope>

and the response of the request is given below.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
  <soap:Fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
     <faultcode xsi:type="xsd:QName">Server</faultcode>
     <faultstring xsi:type="xsd:string">Cannot find SOAP action mapping for</faultstring>
  </soap:Fault>
 </soap:Body>
</soap:Envelope>

which thing causing the error.


Solution

  • This error means WashOut is unable to find the requested action (in your particular case it fails to even parse it – it's empty string).

    Also the wash_out version you use is critically old. Current one is 0.9.0. Please upgrade.