Creating Service Order Message

Inside the reception protocol message flow, there must be a Streams module acting as a parser.

The parser parses data from the incoming protocol message (eventually extracted by a framer) and creates prov::ServiceOrder messages. This service order is the message that moves through the provisioning flow. Each service order has an orderId, which is a string of arbitrary length, which must be unique among all the orders in the system.

You must call the prov::DupeDetector::isDuplicate operation to validate that a service order with the same key does not exist in the system.

Additionally, the following exceptions must be caught:

swbuiltin::ExceptionObjectNotUnique, swbuiltin::ExceptionDataError.

The service order must refer to one sodata::ServiceOrderData instance. The parser creates the service order data and can eventually populate it.

The parser may setup a timeout timer for the service order. This can be done using methods on the prov::ServiceOrder, and using features from the soadmin package.

The service order must finally be attached to the protocol message instance. This is done using ::provcautil::Util::attachChildSoToParent.