Feedback

  • Contents
 

SOAP HTTP Request Ex2 

This SOAP 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.  

This tool is similar to SOAP HTTP Request but provides additional options and supports SSL secured connections (https).  This tool uses the Microsoft IServerXMLHTTPRequest COM component to issue the request.  

For requests that do not require the added options provided by this tool, the SOAP HTTP Request tool should be used as it is more efficient (less overhead).  

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.  

To obtain more information on any failure other than a ‘SOAP Fault’, use the ‘XML Get Error Info’ tool on the response envelope XML document returned by this tool.

Inputs

Request Envelope

The optional XML Node of the SOAP envelope to send. Can be document node or <Envelope> element node. It can also be empty to send an empty request.

URL

URL of the request. See above for details.

HTTP Method

The HTTP method to execute.  Default: “POST”

SOAP Action

The string to be passed as the 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

Default: "%1#%2".  

Note: For .NET webservices, use "%1/%2"  

The value “NONE” may be specified to suppress addition of the SOAPAction header.

Additional HTTP Headers

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

Selection Namespaces

Optional.  Selection namespaces to set in the response envelope document.  

Default: Copy selection namespaces from the request envelope document.  

Username (auth.sites)

Optional.  Username for sites that require HTTP authentication.  Default: No authentication.  

Password (auth. sites)

Optional.  Password for sites that require HTTP authentication.  Default: No authentication.  

Password Encrypted?

Indicates whether or not the password is encrypted (true or false).

DNS Resolve Timeout [s]

Maximum time in seconds to wait for name resolution to complete.  Default: 30s

Connect Timeout [s]

Maximum time in seconds to wait for connection to be established.  Default: 30s

Request Timeout [s]

Maximum time in seconds to wait for request to be sent and response to be completely received.  

Default: 120s (2min)

Max Response Size (bytes)

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

Unchecked URL is already escaped.  

Checked by default.  Escape invalid characters in the URL with %<hexvalue> according to RFC2396.  

Always Return Raw Response Body

Unchecked by default.  Do not return raw response body.  

Check to return the raw data of the response body as string (‘Raw Response Body).  

Client SSL Certificate

Optional.  Name of the client certificate to use from the local store.  Default or empty string: Pick first certificate in store.  

Ignore Unknown SSL Certificate Authority

Unchecked by default.  Fail if SSL certificate authority is unknown.  

Check to accept SSL certificate even if certificate authority is unknown.  

Ignore Wrong SSL Certificate Usage

Unchecked by default.  Fail if SSL certificate is malformed (e.g. no subject name).  

Check to accept malformed SSL certificates.  

Ignore SSL Certificate Name Mismatch

Unchecked by efault.  Fail if the hostname of the visited host and the server certificate do not match.  

Check to accept an SSL certificate even if the certificate name doesn’t match the visited host.  

Ignore Invalid SSL Certificate Date (expired certificate)

Unchecked by default.  Fail if SSL certificate has expired or its date is invalid.  

Check to accept an SSL certificate even if it has expired.  

 

Outputs

Response Envelope

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

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

Status Text

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

Final URL

URL that was actually used to make the request after any redirections.  This parameter can be used to check whether a redirect occurred and what the URL of the final server was that served the request.

Response Headers

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

Raw Response Body

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.

Exit Paths

Success

This path is taken if the if the response contains valid SOAP envelope element(s) and the body is valid XML.

SOAP Fault

This path is taken if the response body contains a <Fault> element.

Empty Response

This path is taken if the 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

This path is taken if an invalid or unknown hostname is used (DNS lookup failed).

HTTP Error

This path is taken if there was an HTTP error (3xx, 4xx, 5xx) and it was not a SOAP Fault.

Parse Error

This path is taken if there was an error parsing the returned XML payload (status was 200 or 500).

Timeout

This path is taken if the request timed out.

Size Limit

This path is taken if the response data exceeded the size limit.

Failure

This path is taken for any other failure. Use ‘XML Get Error Info’ on the ‘Response Envelope’ to obtain more information.