Feedback

  • Contents
 

Invocation Tools

SOAP HTTP Request

This tool issues an HTTP request to the specified URL with the SOAP request envelope as payload. The response body is parsed and returned as response envelope. The URL may have the following format (also see RFC2396 at http://www.rfc.net/rfc2396.html):

['http://'] <host> [':' <port>] ['/' <path> ['?' <query>]]

The (UNICODE) string passed as URL is converted to UTF-8 and invalid characters in the resulting string are escaped according to RFC2396 (%<hexvalue>). The structure of the request sent to the host will be as follows:

'POST ' <path> ' HTTP/1.1' CRLF
'Host: ' <host> [':' <port>] CRLF
'Content-Type: text/xml; charset="' <charset> '"' CRLF
'Content-Length: ' <bodysize> CRLF
'SOAPAction: "' <SOAPAction> '"' CRLF
[<additional headers>]
CRLF
<SOAP envelope body>

The ‘Additional HTTP Headers' parameter can be used to supply additional HTTP header elements. The headers must have the form {<name> ' :' <value> [CR] LF }* The header elements in this argument have precedence over the default headers generated by the tool. Thus, if the ‘Additional HTTP Headers' parameter contains a ‘Content-Length header, it will be used (with potentially unexpected results, of course).

The response body will be parsed and returned as ‘Response Envelope' if the content type is text/xml. Otherwise, the body is returned in ‘Raw Response Body' and an empty document node is returned as ‘Response Envelope'. This document node can be queried for information about what went wrong.

This tool maintains a global cache of the most recently resolved and successfully connected host addresses to improve performance. Each address resolution is kept for at most 5 minutes.

Exit Paths

Success

Request was processed successfully (2xx code) and body is valid XML.

SOAP Fault

Response body contains a <Fault> element.

EmptyResponse

Response body was empty and the HTTP status code was 2xx. Some servers use this to signal success for methods with no result (void).

Unknown Host

Invalid or unknown hostname (DNS lookup failed)

Connection Error

Unable to establish connection to server: connection failed or existing connection was lost prematurely.

HTTP Error

HTTP error (3xx, 4xx, 5xx) and it was not a SOAP Fault.

Parse Error

Error parsing the returned XML payload (status was 200 or 500).

Timeout

The request timed out.

Size Limit

The response data exceeded the size limit.

Failure

Some other failure. Use ‘XML Get Error Info' on the ‘Response Envelope' to obtain more information.

Parameter

Dir

Type

Remarks

Request Envelope

IN

Node

XML Node of the SOAP envelope to send. Can be document node or <Envelope> element node.

URL

IN

String

URL of the request. See remarks for details.

SOAP Action

IN

String

Optional. String to be passed as SOAPAction header. The string passed here may contain the following substitution tags:

%1 Namespace of the first child element of the <Body> element (RPC method).

%2 Base name of the first child element of the <Body> element (RPC method).

%{ Treat everything up to closing ‘}' as XPath query to be run against the ‘Request Envelope' node and substitute the value of the first node found into the SOAPAction string.

%% ‘%' character

If this argument is not specified, the following mask will be used as default: "%1#%2".
The value "NONE" may be specified to suppress addition of the SOAPAction header.

Additional HTTP Headers

IN

String

Optional. Additional HTTP Headers, separated by LF characters (\n). See remarks for details.

Selection Namespaces

IN

String

Optional. Selection namespaces to set in response envelope document.

Default: Copy selection namespaces from request envelope document.

Timeout

IN

Integer

Optional. Maximum time the request may take before timing out (in milliseconds).

-1 à Never timeout.

Default: 60000 (60 seconds)

Max Response Size

IN

Integer

Optional. Size limit of the response data. If the data returned by the server exceeds this limit, the data is not processed and the tool fails. This prevents denial of service attacks. Default: 1MB.

Escape URL

IN

Boolean

Checkbox:

False URL is already escaped.

True Default. Escape invalid characters in the URL with %<hexvalue> according to RFC2396.

Always Return Raw Response Body

IN

Boolean

Checkbox:

False Default. Do not return raw response body.

True Returns the raw data of the response body as string (‘Raw Response Body).

Response Envelope

OUT

Node

Document node of the response envelope. If an error occurred, an empty document is returned which can be queried using ‘XML Get Error Info'.

Status Code

OUT

Integer

HTTP status code of the response (e.g. 200, 500, etc).

Status Text

OUT

String

HTTP status text of the response (e.g. "OK", "Internal Server Error", etc.)

Response Headers

OUT

String

HTTP Headers returned by the server, separated by a LF (\n).

Raw Response Body

OUT

String

Raw data of the response body (data that is parsed as response envelope). This string is only returned if the ‘Always Return Raw Response Body' parameter is True, an error occurs, or the response content type is not XML.