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 an Oracle OCNCC OSD 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
In addition to the common Application configuration parameters
and common TCP Application Configuration parameters,
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 |
---|---|---|---|
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_port
|
Positive 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 )
|
.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 )
|
config
|
Object | Element | Container for extended configuration for this Application instance. |
.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.
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 quirksbrm
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 (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"/>
SOAP Headers
Each header configuration defines an HTTP header to include with each outbound SOAP operation.
Each 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.
Message Handling
In addition to the common Application management messages, the SOAP Client Application uses the following messages:
- SOAP-C Messages (SOAP-C-REQUEST inbound).