PI-C Messages
Introduction
The PI-… messages are used to send a PI client request to an NCC Provisioning Interface server. The NCC PI supports two different transport mechanisms:
- MML
- SOAP
Both of these can be accessed from n2svcd
by using PI-C-REQUEST
in conjunction
with the relevant client applications.
- To perform an NCC PI request over the MML transport, send a
PI-C-REQUEST
to an MmlClientApp. - To perform an NCC PI request over the MML transport, send a
PI-C-REQUEST
to a SoapClientApp.
Note that you can also use SOAP-C-REQUEST
to invoke a PI client request via
the SoapClientApp. The PI-C-REQUEST
is a simpler message which supports on the
basic subset of the SOAP-C-REQUEST
message content. The sole advantage of using
PI-C-REQUEST
over SOAP-C-REQUEST
is that it is compatible with both MmlClientApp
and SoapClientApp and so you can easily swap between MML and SOAP.
The following applications from the core n2svcd
module make requests to
SoapClientApp.
TesterApp
(initates outbound PI requests forpi.request
)
The internal PI-… messages are:
PI-C-REQUEST
PI-C-SENT
PI-C-RESPONSE
Note that this page uses the term “on-the-wire” to refer to the sending or receiving of SOAP or MML content. This term is also inclusive of the case where the message is sent by local loopback and does not physically transit a Network Interface Controller (NIC).
PI-C-REQUEST
The PI-C-REQUEST
message is sent to MmlClientApp or SoapClientApp by any application
that wishes to perform an outbound PI request using the MML or SOAP transport.
Refer to the SoapClientApp Configuration or the MmlClientApp Configuration documentation for more information on setting default parameters.
The attributes of the PI-C-REQUEST
message are:
Field | Type | Description |
---|---|---|
pi
|
Object | Container for the parameters of the PI request that we are to send. |
.command
|
String |
[Required] The PI command to execute, e.g. NPYZ1=ADD .
|
.parameters
|
Object |
[Required] A HASH of parameters to be passed in the request. Each Object attribute is a named parameter which must be either a non-null SCALAR or an ARRAY of non-null SCALARs (for repeated parameter values). |
Note that it is not possible to set or override connection or SSL parameters in the PI-C-REQUEST
message.
Connection and SSL parameters can only be set in the SoapClientApp configuration.
PI-C-SENT
The PI-C-SENT
message is sent by SoapClientApp to the requesting application
when the original PI-C-REQUEST
is placed on-the-wire.
The attributes of the PI-C-SENT
message are:
Field | Type | Description |
---|---|---|
pi
|
Object |
The PI parameters used to encode the final on-the-wire PI request. This Object has the same structure as the rest Object in PI-C-REQUEST .Note however that this object will also contain any field values which were filled-in using default values configured within MmlClientApp or SoapClientApp itself. |
mml
|
String | The full content of the on-the-wire MML Request when the message is sent via MML. |
http
|
String | The full content of the on-the-wire HTTP Request when the message is sent via SOAP. |
PI-C-RESPONSE
The PI-C-RESPONSE
message is sent by SoapClientApp or MmlClientApp to the requesting
application when a SOAP or MML response is received to the original PI-C-REQUEST
, or if
a failure occurs which indicates that no such Response will be received.
The attributes of the PI-C-RESPONSE
message are:
Field | Type | Description |
---|---|---|
success
|
0 /1
|
[Required] Indicates if the request was successful or not. |
error
|
String |
Indicates the reason why the request failed. Present and applicable only if success == 0 .
|
pi
|
Object |
Container for the PI response parameters received. Present only if success == 1 .
|
.status
|
ACK /NACK
|
Was this a successful PI request or not. |
.returned
|
Object |
The returned parameters in the case of ACK status.A HASH of returned parameters, keyed by parameter name. The value will be a SCALAR if the parameter occurred only once. The value will be an ARRAY of SCALAR if the parameter occurred more than once. |
.info
|
String |
A fault reason in the case of NACK status.
|
http
|
String |
The full HTTP Response message when using SOAP. This field may or may not be present. The SoapClientApp may decide not to supply it in order to reduce traffic on the message bus. |
Note that the error
field will be set in the case of a timeout or protocol-level
encoding/decoding error. The pi
.info
field will be set in the case where the
request is successfully transmitted but is declined by the NCC PI server.