SOAPMessageV2 - Scoped, Global

The SOAPMessageV2 API allows you to send an outbound SOAP message using JavaScript.

Use the SOAPResponseV2 API to manage the response returned by the SOAP provider.

You can use this API in scoped applications, or within the global scope.

SOAPMessageV2 - execute()

Send the SOAP message to the endpoint.

Table 1. Parameters
Name Type Description
None
Table 2. Returns
Type Description
SOAPResponseV2 - Scoped, Global The response returned by the SOAP provider.
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.execute(); //Might throw exception if http connection timed out or some issue with sending request itself because of encryption/decryption of password.

SOAPMessageV2 - executeAsync()

Send the SOAP message to the ECC queue.

SOAP messages in the ECC queue are processed by the SOAPClient business rule.

By default, this business rule does not run asynchronously. To configure this business rule to run asynchronously, set the When value to Async and add current.update() to the end of the Script. The instance does not wait for a response from the web service provider when sending a message through the ECC queue.

Table 3. Parameters
Name Type Description
None
Table 4. Returns
Type Description
SOAPResponseV2 - Scoped, Global The response returned by the SOAP provider.
Note: Attempting to use the SOAP response object before the response has been processed may result in a timeout error.
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var response = sm.executeAsync();

SOAPMessageV2 - getEndpoint()

Get the endpoint for the SOAP message.

Table 5. Parameters
Name Type Description
None
Table 6. Returns
Type Description
String The URL of the SOAP web service provider.
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var endpoint = sm.getEndpoint();

SOAPMessageV2 - getRequestBody()

Get the content of the SOAP message body.

Table 7. Parameters
Name Type Description
None
Table 8. Returns
Type Description
String The SOAP message body.
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var endpoint = sm.getRequestBody();

SOAPMessageV2 - getRequestHeader(String headerName)

Get the value for an HTTP header specified by the SOAP client.

By default, this method cannot return the value for a header set automatically by the system. To grant this method access to all headers, set the property glide.http.log_debug to true.

Table 9. Parameters
Name Type Description
headerName String The request header you want to get the value for.
Table 10. Returns
Type Description
String The value of the specified header.
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var header = sm.getRequestHeader("Accept");

SOAPMessageV2 - getRequestHeaders()

Get HTTP headers that were set by the SOAP client and the associated values.

This method does not return headers set automatically by the system. To configure this method to return all headers, set the property glide.http.log_debug to true.

Table 11. Parameters
Name Type Description
None
Table 12. Returns
Type Description
Object An Object that maps the name of each header to the associated value.
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var endpoint = sm.getRequestHeaders();

SOAPMessageV2 - setBasicAuth(String userName, String userPass)

Set basic authentication headers for the SOAP message.

Setting basic authentication headers using this method overrides basic authentication values defined in the SOAP message record.

Table 13. Parameters
Name Type Description
userName String The username to use when authenticating the SOAP message.
userPass String The password for the specified user.
Table 14. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setBasicAuth("username","password");

SOAPMessageV2 - setEccCorrelator(String correlator)

Associate outbound requests and the resulting response record in the ECC queue.

This method only applies to SOAP messages sent through a MID Server. The correlator provided populates the Agent correlator field on the ECC queue record for the response. Provide a unique correlator for each outbound request to associate the correct results in the ECC queue with the request when designing asynchronous automation through a MID Server.

Table 15. Parameters
Name Type Description
correlator String A unique identifier.
Table 16. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setEccCorrelator("unique_id");

SOAPMessageV2 - setEccParameter(String name, String value)

Override a value from the database by writing to the SOAP message payload.

This method only applies to SOAP messages sent through a MID Server. Use this method when a value from the SOAP message in the database is invalid, such as when the endpoint URL is longer than the maximum SOAP endpoint field length.

These are valid values for the name parameter.
  • source: the endpoint URL.
  • name: the SOAP message function to run.
Table 17. Parameters
Name Type Description
name String The name of the ECC parameter.
value String The value to assign to the specified ECC parameter.
Table 18. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setEccParameter("source","http://very.long.endpoint");

SOAPMessageV2 - setEndpoint(String endpoint)

Set the endpoint for the SOAP message.

By default, the SOAP message uses the endpoint specified in the SOAP message record. Use this method to override the default. You must call this method when using the SOAPMessageV2() constructor with no parameters.

Table 19. Parameters
Name Type Description
endpoint String The URL of the SOAP web service provider you want to interface with.
Table 20. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2();
sm.setEndpoint("http://web.service.endpoint");

SOAPMessageV2 - setHttpTimeout(Number timeoutMs)

Set the amount of time the SOAP message waits for a response from the web service provider before the request times out.

Table 21. Parameters
Name Type Description
timeoutMs Number The amount of time to wait for a response from the web service provider, in milliseconds.
Table 22. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setHttpTimeout(6000);

SOAPMessageV2 - setLogLevel(String level)

Set the log level for this message and the corresponding response.

Setting a log level using the SOAPMessageV2 API overrides the log level configured on the SOAP message record. This log level may not apply if the endpoint domain is blacklisted, or if the property glide.outbound_http_log.override is true. To view outbound web service logs, navigate to System Logs > Outbound HTTP Requests.

Table 23. Parameters
Name Type Description
level String The log level. Valid values are basic, elevated, and all.
Table 24. Returns
Type Description
void

SOAPMessageV2 - setMIDServer(String midServerName)

Configure the SOAP message to be sent through a MID Server.

By default, the SOAP message uses the MID Server specified in the SOAP message function record. Use this method to override the default.

Table 25. Parameters
Name Type Description
midServerName String The name of the MID Server you want to send the SOAP message through. Your instance must have an active MID Server with the specified name.
Table 26. Returns
Type Description
void

SOAPMessageV2 - setMutualAuth(String profileName)

Set the mutual authentication protocol profile for the SOAP message.

Setting a protocol profile using this method overrides the protocol profile selected for the SOAP message record.

Table 27. Parameters
Name Type Description
profileName String The name of the protocol profile to use for mutual authentication.
Table 28. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setMutualAuth("auth_profile_name");

SOAPMessageV2 - setRequestBody(String requestBody)

Set the body content to send to the web service provider.

When you set the body content using this method, variables in the body are not substituted for parameters from the SOAP message function record. You must explicitly define all values within the SOAP message body.

Table 29. Parameters
Name Type Description
requestBody String The body of the SOAP message.
Table 30. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
var body = "<SOAP message body>";
sm.setRequestBody(body);

SOAPMessageV2 - setRequestHeader(String headerName, String headerValue)

Set an HTTP header in the SOAP message to the specified value.

Table 31. Parameters
Name Type Description
headerName String The name of the header.
headerValue String The value to assign to the specified header.
Table 32. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setRequestHeader("Accept","Application/json");

SOAPMessageV2 - setSOAPAction(String soapAction)

Define the SOAP action this SOAP message performs.

The WSDL for your web service provider lists SOAP actions you can perform. You must call this method when using the SOAPMessageV2() constructor with no parameters.

Table 33. Parameters
Name Type Description
soapAction String The SOAP action this SOAP message performs.
Table 34. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2();
sm.setSOAPAction("GetQuote");
//construct SOAP message by specifying endpoint and auth
sm.execute();

SOAPMessageV2 - setStringParameter(String name, String value)

Set a variable with the specified name from the SOAP message record to the specified value.

XML reserved characters in the value are converted to the equivalent escaped characters.

Table 35. Parameters
Name Type Description
name String The name of the SOAP message variable.
value String The value to assign to the specified variable.
Table 36. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setStringParameter("symbol","NOW");

SOAPMessageV2 - setStringParameterNoEscape(String name, String value)

Set a variable with the specified name from the SOAP message record to the specified value.

This method is equivalent to setStringParameter but does not escape XML reserved characters.

Table 37. Parameters
Name Type Description
name String The name of the SOAP message variable.
value String The value to assign to the specified variable.
Table 38. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setStringParameterNoEscape("symbol","NOW");

SOAPMessageV2 - setWSSecurity(String keystoreId, String keystoreAlias, String keystorePassword, String certificateId)

Sets web service security values for the SOAP message.

Setting security values using this method overwrites web service security values defined for the SOAP message record.

Table 39. Parameters
Name Type Description
keystoreId String The sys_id of the Java or PKCS12 key store to use.
keystoreAlias String The alias that identifies the public and private keys.
keystorePassword String The password assigned to the key store record.
certificateId String The sys_id of the trusted server certificate.
Table 40. Returns
Type Description
void
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.
sm.setWSSecurity("70d65e074f3812001f6eac118110c71a","Quote keys","UXr82cqX75Z7MaSa+EyjGA==","ba969a074f3812001f6eac118110c76d");

SOAPMessageV2 - SOAPMessageV2()

Instantiates an empty SOAPMessageV2 object.

When using an object instantiated this way, you must manually specify a SOAP action and endpoint.

Table 41. Parameters
Name Type Description
None
var sm = new sn_ws.SOAPMessageV2();

SOAPMessageV2 - SOAPMessageV2(String soapMessage, String soapFunction)

Instantiate a SOAPMessageV2 object from a SOAP message record and a function associated with that record.

Values such as the endpoint, authentication, or MID Server settings from the SOAP message record apply to this object.

Table 42. Parameters
Name Type Description
soapMessage String The SOAP message record you want to use as the base for this object.
soapFunction String The SOAP function you want to execute. Available SOAP functions depend on the WSDL supplied by the web service provider.
var sm = new sn_ws.SOAPMessageV2("StockQuote","GetQuote"); //Might throw exception if message doesn't exist or not visible due to scope.