Web Request
Generates a request to webservices, URLs or any HTTP/HTTPs based web protocol.
Fields¶
- URL - the endpoint URL
- Method - the HTTP method to be used, typically
GET
,POST
,PUT
,DELETE
- Encoding - the encoding to be used, recommended (and default) is
utf-8
, but others also available:ansi
,iso-8859-15
, etc. - Timeout - timeout to wait for server response in seconds
- User - [optional] HTTP authentication user for the request
- Password - [optional] HTTP authentication password for the request
- Accept Any Server Certificate - check this if invalid HTTPS/SSL certificates are allowed
Data Section¶
Form¶
Enter key-value pairs for each HTTP request form parameters.
This will be sent in the request as a form/multipart section.
Header¶
Enter key-value pairs for each HTTP request header values.
Some common HTTP request headers you can set:
Content-Type
- the type of content you be sending, likeapplication/json
orapplication/x-www-form-urlencoded
depending of what's being set to the endpoint server.Content-Length
- the length of the content (should be automatically set by Clarive)User-Agent
- identifies who's calling the serviceCookie
- sets cookies at the other side
And many more. Here's a good list of available request headers:
https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
Body¶
Data to be sent the request body, such as JSON data.
Sending a JSON request¶
For example, to dump a stash variable called myvar
as a JSON string, put the following into the body of the request:
${json(myvar)}
Which will in turn get parsed to a JSON representation of the variable myvar
.
Add the following key-value pair to the Headers section and you're all set:
Content-Type
==> application/json
Sending a SOAP request¶
To send a SOAP request, it's better to create a body template that has the correct XML structure that is needed by your SOAP server.
This is an example SOAP XML request template, with a variable, myvar
that will be parsed with the stash data before
being sent over.
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope" SOAP-ENV:encodingStyle="http://www.w3.org/2001/12/soap-encoding" > <SOAP-ENV:Body xmlns:m="http://www.xyz.org/quotations" > <m:GetQuotation> <m:QuotationsName>${myvar}</m:QuotationsName> </m:GetQuotation> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Now, set the following key-value pair in the Header section:
Content-Type
=>text/xml; charset=utf-8
SOAP 1.1 Tester¶
Here's a good test for a SOAP 1.1 call:
- URL:
http://www.webservicex.net/globalweather.asmx?op=GetWeather
- Method:
POST
Headers:
Content-Type
=>text/xml; charset=utf-8
,SOAPAction
=>"http://www.webserviceX.NET/GetWeather"
Body:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetWeather xmlns="http://www.webserviceX.NET"> <CityName>string</CityName> <CountryName>string</CountryName> </GetWeather> </soap:Body> </soap:Envelope>
SOAP 1.2 Tester¶
- URL:
http://www.webservicex.net/globalweather.asmx?op=GetWeather
- Method:
POST
Headers:
Content-Type
=>application/soap+xml; charset=utf-8
Body:
<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <GetWeather xmlns="http://www.webserviceX.NET"> <CityName>string</CityName> <CountryName>string</CountryName> </GetWeather> </soap12:Body> </soap12:Envelope>