Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SOAP Action WSDL

Tags:

I'm trying to implement a client for National Rail Enquiries' SOAP Service (http://www.livedepartureboards.co.uk/ldbws/).

I stick the WSDL (http://realtime.nationalrail.co.uk/ldbws/wsdl.aspx) into http://soapclient.com/soaptest.html, but I get back the error message "Unable to handle request without a valid action parameter. Please supply a valid soap action."; what on earth should the action be?

Thanks, Stewart

edit:

I just used soapclient.com as a quick example. In my software, I send the following XML; I still get that I'm missing an action.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://thalesgroup.com/RTTI/2008-02-20/ldb/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:ldbt2="http://thalesgroup.com/RTTI/2008-02-20/ldb/types" xmlns:ldbt="http://thalesgroup.com/RTTI/2007-10-10/ldb/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ct="http://thalesgroup.com/RTTI/2007-10-10/ldb/commontypes" >  <SOAP-ENV:Body>   <ldbt2:GetDepartureBoardRequest xmlns:ldbt2="http://thalesgroup.com/RTTI/2008-02-20/ldb/" >    <ldbt2:numRows>5</ldbt2:numRows>    <ldbt2:crs>WAT</ldbt2:crs>    <ldbt2:filterCrs>GLD</ldbt2:filterCrs>    <ldbt2:filterType>to</ldbt2:filterType>    <ldbt2:timeOffset>0</ldbt2:timeOffset>   </ldbt2:GetDepartureBoardRequest>  </SOAP-ENV:Body> </SOAP-ENV:Envelope> 
like image 321
Stewart Avatar asked Feb 14 '10 21:02

Stewart


People also ask

What is SOAP action in WSDL?

SOAPAction. The SOAPAction header is a transport protocol header (either HTTP or JMS). It is transmitted with SOAP messages, and provides information about the intention of the web service request, to the service. The WSDL interface for a web service defines the SOAPAction header value used for each operation.

Is SOAP action required?

No. The SOAPAction HTTP header is required by SOAP 1.1 and therefore by the WSA. It can be blank or have a value, but the HTTP header has to be there. Also, take a look at the service's WSDL, and if it includes "soapAction" then the client must meet the API's specification.

How WSDL can bind to SOAP?

A WSDL binding describes how the service is bound to a messaging protocol, particularly the SOAP messaging protocol. A WSDL SOAP binding can be either a Remote Procedure Call (RPC) style binding or a document style binding. A SOAP binding can also have an encoded use or a literal use.

What is SOAP action URL?

SOAP End point is the URL provided to the service user to invoke the services exposed by the service provider. SOAP Action specifies which process or program is needed to be called when a request is sent by the service requester with relative path of the process/program.


1 Answers

If its a SOAP 1.1 service then you will also need to include a SOAPAction HTTP header field:

http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528

like image 110
mythz Avatar answered Sep 22 '22 04:09

mythz