SoapClientApp
SOAP Client Application Configuration
The N2SVCD SOAP Client Application is a protocol gateway application which
can perform client requests using the SOAP/XML protocol. The application
supports minor variations in the interpretation of the SOAP standard by
using a quirks_mode
setting.
A single SOAP Client Application instance will maintain a pool of connections to a single Server Address. If you need to connect to more than one remote SOAP Server Address, you must configure multiple SOAP Client Application instances (each with unique names).
The N-Squared Tester Application requires a SOAP Client Application instance to be installed in order to execute SOAP tests (including “OSD” tests).
The following configuration is used to create a SOAP Client Application instance to act as a protocol gateway to a SOAP server.
<?xml version="1.0" encoding="utf-8"?>
<n2svcd>
...
<applications>
...
<application name="OSD-SLC01" module="SoapClientApp">
<include><lib>../apps/soap_c/lib</lib></include>
<parameters>
<parameter name="quirks_mode" value="ncc_osd"/>
<parameter name="remote_host" value="10.42.2.154"/>
<parameter name="remote_port" value="4999"/>
<parameter name="username" value="admin"/>
<parameter name="password" value="admin"/>
<parameter name="pool" value="3"/>
<parameter name="security" value="inline"/>
<parameter name="ssl" value="1"/>
<parameter name="ssl.SSL_verify_mode" value="0"/>
</parameters>
<config>
<headers>
<header name="x-api-key" value="aaaaaa-bbbbbb-ccccc-dddddd"/>
</config>
</application>
...
</application>
...
</n2svcd>
Configuration Details
The application
element attributes for a SOAP Client Application instance may include the below.
For details of the various parameter types used, refer to Common Configuration.
Parameter Name | Type | XML Type | Description |
---|---|---|---|
See: Common Application configuration | |||
See: TCP Application configuration | |||
module
|
String | Attribute |
[Required] SoapClientApp
|
include.lib
|
String | Element |
[Required] ../apps/osd/lib
|
parameters
|
Array | Element |
[Required] As per Common Configuration Application parameters .
|
"edr_enabled"
|
- | - | This value is ignored; the SOAP Client Application does not support writing EDRs. |
"socket_mode"
|
String | Attribute |
The SOAP Client Application supports only connect (TCP Client).(Default = connect )
|
"remote_host"
|
String | Attribute |
[Required] As per common TCP configuration for remote_host .
|
"remote_port"
|
Integer | Attribute |
As per common TCP configuration for remote_port .(Default = 80 )
|
"ping_interval"
|
- | - | This value is ignored; the SOAP Client Application does not support ping messages. |
"quirks_mode"
|
String | Attribute |
The integration quirks to apply to client connections, as described in Quirks Modes. (Default = generic )
|
"output_mode"
|
Positive Integer | Attribute |
The form of XML to output, as described in the toString
LibXML documentation.(Default = 1 )
|
"uri"
|
String | Attribute | URI to pass in HTTP Request. (Default = "http://<remote_host>:<remote_port>") |
"username"
|
String | Attribute |
Username to present to OSD SOAP Server as credentials. Only relevant when quirks_mode = ncc_osd .
|
"password"
|
String | Attribute |
Password to present to OSD SOAP Server as credentials. Only relevant when quirks_mode = ncc_osd .
|
"security"
|
String | Attribute |
Mechanism for passing username/password.
Possible values are:
basic )
|
"message_uri"
|
String | Attribute |
The common message URI to use.
Possible values are:
http://eservglobal.com/2009/05/15/pi for quirks_mode of ncc_pi , otherwise not set)
|
"ns_message_location"
|
String | Attribute |
The location to put namespacing information.
Possible values are:
message for quirks_mode of ncc_osd , otherwise envelope )
|
"ns_message_alias"
|
String | Attribute |
The namespace alias to use if namespaces are enabled.
(Default = pi for quirks_mode of ncc_pi , otherwise oper )
|
config
|
Object | Element | Container for extended configuration for this Application instance. |
.http_headers
|
Array | Element |
Array of SOAP http_header elements for additional HTTP headers to send with each SOAP operation.
|
Note: the SOAP Client Application only allows one outstanding request per client connection.
SOAP Headers
Each http_header
Object in the config
.http_headers
Array is configured as follows.
Parameter Name | Type | XML Type | Description |
---|---|---|---|
name
|
String | Attribute | [Required] The HTTP Header key. |
value
|
String | Attribute | [Required] The HTTP Header Value. |
Each configured HTTP header will be appended to all outbound SOAP requests.
Application-defined static HTTP headers will be added first. Per-request HTTP headers will be added subsequently.
Quirks Modes
The SOAP Client Application may operate in a “quirks mode”, which controls the extraction of received SOAP arguments into local representation and the SOAP encoding of the response parameters. These modes may also affect the selection and structure of namespaces and other SOAP attributes.
The available quirks modes are listed below.
generic
for no specific quirkssimple
for simplified outputbrm
for quirks when integrating with Oracle BRMncc_osd
for quirks when integrating with Oracle NCC OSDncc_pi
for quirks when integrating with Oracle NCC PI
Quirks Mode (Generic)
The generic
value of quirks_mode
is a default “normal” SOAP interpetation
of input and output parameters which is provided as an initial starting point
for integrating with other end-points.
Quirks Mode (Simple)
The simple
value of quirks_mode
is the same as the generic
setting with some small differences.
Outbound boolean values, nil values, and array structures do not contain type declarations to SOAP types.
In addition, all outbound parameters have namespaces applied unless configured otherwise.
Quirks Mode (BRM)
The brm
value of quirks_mode
is used for compatibility with the Oracle BRM SOAP server.
Quirks Mode (NCC OSD)
The ncc_osd
quirks mode is intended to be compatible with the interpretation of
the SOAP standard as used by Oracle’s NCC Open Services Development server running
on an OCNCC SLC node.
Note that from N2SVCD 7.3.17 onwards, SoapClientApp
with quirks_mode
= ncc_osd
replaces the earlier OSDApp
. When upgrading, simply change your configuration
to specify the new module
, lib
and quirks_mode
as follows.
Pre 7.3.17.
<application name="OSD-SLC01" module="OSDApp">
<include><lib>../apps/osd/lib</lib></include>
<parameters>
<parameter name="remote_host" value="10.42.2.154"/>
Version 7.3.17 or later.
<application name="OSD-SLC01" module="SoapClientApp">
<include><lib>../apps/soap_c/lib</lib></include>
<parameters>
<parameter name="quirks_mode" value="ncc_osd"/>
<parameter name="remote_host" value="10.42.2.154"/>
Quirks Mode (NCC PI)
The ncc_pi
quirks mode is intended to be compatible with the interpretation of
the SOAP standard as used by Oracle’s NCC Provisioning Interface server running
on an OCNCC SMS node.
Note that from N2SVCD 7.4.0 onwards, SoapClientApp
with quirks_mode
= ncc_pi
replaces the earlier PIApp
. When upgrading, simply change your configuration
to specify the new module
, lib
and quirks_mode
as follows.
Pre 7.4.0.
<application name="PI-SMS" module="PIApp">
<include><lib>../apps/pi/lib</lib></include>
<parameters>
<parameter name="remote_host" value="10.42.2.154"/>
Version 7.4.0 or later.
<application name="PI-SMS" module="SoapClientApp">
<include><lib>../apps/soap_c/lib</lib></include>
<parameters>
<parameter name="quirks_mode" value="ncc_pi"/>
<parameter name="remote_host" value="10.42.2.154"/>
Message Handling
In addition to the common Application management messages, the SOAP Client Application uses the following messages:
- SOAP-C Messages (SOAP-C-REQUEST outbound).