2 Using OSM Order Management Web Services

This chapter describes Oracle Communications Order and Service Management (OSM) order management Web Services, which provides the primary interface for in-bound order operations such as creating or canceling an order.

About Web Services

Web services support interoperable machine-to-machine interaction over a network. Web services are web APIs that can be accessed over a network, such as the Internet, and run on a remote system hosting the requested services, as is the case with OSM. Web service interfaces are described by the web service definition language (WSDL).

WSDL is an XML-based language that is used in combination with simple object access protocol (SOAP) and XML Schema to provide web services over the Internet. A client program connecting to a web service can read the WSDL to determine what operations are available on the server. Any special data types used are embedded in the WSDL file in the form of XML Schema. The client can then use SOAP to actually call one of the operations defined in the WSDL.

About Order Management Web Services

The OSM Web Services provide the primary interface for in-bound order operations such as creating, updating, or canceling an order. OSM Web Services are typically initiated from Customer Relationship Management (CRM) systems and other order sources that need to create and manage orders in OSM. OSM Web Services use the SOAP standard.

The OSM Web Service operations are defined in WSDL files. The operations are listed below, and grouped by WSDL file.

OrderManagement.wsdl

OrderManagementDiag.wsdl

These services can be accessed using HTTP, HTTPS, or JMS as the transport protocol. JMS is a reliable, asynchronous messaging transport with guaranteed delivery while HTTP is synchronous and less reliable.

Request Validations

All OSM Web Service requests are validated by the server based on the rules defined in the schema files. If a validation error is encountered, the server returns a fault message detailing the validation error so it can be resolved.

Determining Request and Response Queues To Use

The queues you should use depend on whether your implementation is in a WebLogic Server cluster or in a single server.

For more information about the specifics of the queues that are created, see the discussion of OSM installed components in OSM System Administrator's Guide.

Queues in a WebLogic Server Cluster

There are two queues created for requests. In a WebLogic Server cluster, you can use one or both of the queues. Following are the considerations to use to help you decide:

  • The oms_ws_cluster_requests queue is designed with optimization for processing requests relating to updating or retrieving existing orders in a WebLogic Server cluster. This queue can also handle requests to create new orders, if desirable to simplify integration with upstream systems.

  • The oms_ws_requests queue can be used for new order creation requests, and this avoids some overhead of the oms_ws_cluster_requests queue. This queue checks for an <OrderId> element which will not be present in a new order creation request. If order updates and new order requests come from two different interfaces, then it is a good idea to send new order requests to the oms_ws_requests queue.

  • If there are a larger number of order updates than new order creation requests, then it makes sense to process all requests using the oms_ws_cluster_requests queue.

For responses, a WebLogic Server cluster environment uses the oms_ws_cluster_responses and oms_ws_cluster_correlates queues, which set the JMSCorrelationID properly and forward the message to the destination specified in the ReplyTo JMS property of the message.

Queues in a Single-Server WebLogic Server Environment (Traditional OSM Only)

In a single-server environment, like a development environment, you must always direct requests to the oms_ws_requests queue. Responses are forward the message to the destination specified in the ReplyTo JMS property of the message without the need for other queues.

Sending OSM Web Service Requests to a WebLogic Server Cluster (Traditional OSM Only)

If your web services client connects to OSM using Oracle WebLogic Server, and if your WebLogic Server instance for OSM is a cluster, the WSDL generated by WebLogic Server identifies the endpoint using the address of the first managed server and ignores the addresses of all other managed servers.

To ensure that the addresses of all managed servers are used, include code in your client to override the endpoint.

Example 2-1 demonstrates how to override the default endpoint and include all of the endpoints.

Example 2-1 Sample Code to Override the Endpoint Address for a Cluster

Stub stub = (Stub) port;
stub._setProperty(WlsProperties.READ_TIMEOUT, 1000000);
stub._setProperty(WLStub.JMS_TRANSPORT_JNDI_URL, t3://ip_address1:port1,ip_address2:port2,ipaddressn:portn");

In the example, ip_address1 is the IP address of the first managed server and port1 is the port of that server, ip_address2 is the IP address of the second managed server and port2 is the port of that server, and so on for all of your managed servers. As in the example, separate each IP address from its port by a colon and separate the address information for the servers by commas.

Accessing the WSDL Files

OSM Web Services are part of the OSM installation. The OSM WSDL files and the supporting schema files (XSD files) are located in the SDK/WebService/wsdl directory.

Alternatively, you can access the OSM WSDL by entering the following in your web browser after you have installed, configured, and deployed the OSM server:

http://server:port/OrderManagement/wsapi for web service operations used for order management.

and

http://server:port/OrderManagement/diagnostic/wsapi for web service operations used for diagnosing problem orders.

where:
  • server is the specific server (traditional OSM deployments) on which the application is deployed. In OSM cloud native, the base hostname to access this instance is instance.project.osm.org.
  • port is the port on which the application listens. Users who access the WSDL this way must be configured in the WebLogic console with usernames and passwords and must belong to the group OMS_ws_api.

The syntax of each OSM Web Service operation is specified using the XML schema, which is associated with the WSDL for the web service, and is the same for HTTP, HTTPS, and JMS port types. The JNDI name for the JMS request queue is available in the WSDL file.

Using the SOAP Standard Message Format

OSM Web Services use the SOAP standard message format, which includes a header and a body.

Message Header

OSM Web Services require that security related information be provided in the message header. The user name and password for the web service authorized user must be included in each request using the elements <wsse:UserName> and <wsse:PasswordText>, as shown in Example 2-2.

Example 2-2 Message Header

<soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-
     open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
        <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs. 
         oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-
             200401-wss-username-token-profile-1.0 
             #PasswordText">administrator</wsse:Password>
        </wsse:UsernameToken>
    </wsse:Security>
</soapenv:Header>
Message Body

The message body contains the data payload. The data payload varies depending on the specific request, as shown in Example 2-3.

Example 2-3 Message Body

<soapenv:Body>
    <createOrderBySpecification>
        <specification>
            .
            .
            .
        </specification>
    </createOrderBySpecification>
</soapenv:Body>
 

Response messages include a data payload containing the result of the method call.

White Space in Message Text

OSM trims off the white space to the right of the beginning of a text block and to the left of the end of a text block. For example, if you send an update with the following field:

<osmc:street index="1414682666685">   190   Attwell Drive  </osmc:street>

the response message returns having removed the white space at the beginning and the end of the text block:

<osmc:street index="1414682666685">190   Attwell Drive</osmc:street>

Testing OSM Web Services

Test OSM Web Services with software such as SoapUI or HermesJMS. Information on such open source test software is available on the internet.

Note:

With OSM 7.2, the context-root for OSM applications changed to /OrderManagement. OSM redirects requests specifying the old URIs to the current ones. However, soapUI 2.5.1 does not correctly handle redirects. soapUI3.x or above correctly handles redirects.

Note:

If you are using soapUI for testing in a clustered WebLogic environment, enable preemptive authentication in soapUI by selecting Preferences, then HTTP Settings, then Authenticate Preemptively.

Without this, soapUI sends requests without authentication. The request is rejected and then resent with authentication. Because of OSM's load balancing approach in a clustered WebLogic environment, the second request is sent to a different managed server, distorting load balancing. For example, if a cluster has only two managed servers and you employ round-robin load balancing, all authenticated requests will be sent to the same managed server.

Regardless of the software used to test OSM Web Services, you must ensure the clocks are synchronized between the test client and the server hosting the web services. The synchronization can be done manually, or by using Network Time Protocol (NTP). The following errors are encountered if the clocks are not synchronized:

  • Failing to submit order to server_name server from my local system.

  • Security token failed to validate. weblogic.xml.crypto.wss. SecurityTokenValidateResult@11f081b[status false][msg UNT Error:Message Created time past the current time even accounting for set clock skew.

Note:

Starting with OSM 7.2, order IDs are allocated in blocks. For OSM running on a standalone database, there is no visible impact. However, if OSM is running on an Oracle RAC database, Order IDs are assigned from different blocks, one for each Oracle RAC instance. This means that when orders are submitted, the Order IDs may not be sequential.

Order States and Transitions

Several of the OSM Web Service operations initiate a transition from one order state to another. For example, CancelOrder initiates a transition from either an in progress or suspended order state to the cancelling order state. Any transition that occurs within a web service operation is described in the Expected Outcome section for that particular operation as described in "About Order Management Web Service Operations." To learn more about order states and their transitions, see OSM Concepts.

Web Services Sample

The OSM SDK provides a Web Service sample that demonstrates how OSM Web Services are called. The sample is available in the SDK/Samples/Web Services directory. The sample includes both HTTP and JMS clients, and demonstrates the use of the web service operations:

  • CreateOrderBySpecification

  • GetOrder

  • UpdateOrder

The GetOrder and UpdateOrder operations depend on the order ID that is provided in the CreateOrderBySpecification response. Before you can run the sample, you must configure it to reflect your environment. See the ReadMe.txt file for detailed instructions on configuring, building, and running the sample.

About Order Management Web Service Operations

The remaining sections of this chapter describes each OSM Web Service operation, and includes the following information per operation:

  • Preconditions: Describes any conditions that must exist prior to calling the request.

  • Expected Outcome: Describes the expected outcome that occurs as a result of the request.

Parameters

Unless parameters require additional explanation, the parameters that are defined by each web service are not provided in this documentation. The information is available in the XSD files provided with your OSM installation. For information on determining the input and output parameters for any given web service, see "Navigating WSDL and XSD Files."

Fault Types and OSM Web Service Client Error Processing

OSM Web Service operations sent over JMS or HTTPS to OSM may fail for various reasons, such as a local error or exception on the OSM server, incorrect syntax, invalid permissions, and so on. The OSM Web Service client, such as a CRM communicating to OSM in the COM role, must monitor returning response messages from OSM for any fault types that indicate whether the operation succeeded or failed. If the OSM Web Service operation request fails it is the responsibility of the OSM Web Service client to track and resubmit the failed request after troubleshooting the problem.

The possible fault types that each web service may throw is not provided in this documentation because the information is available in the WSDL files provided with your OSM installation. For information on determining the fault types that any given web service may throw, see "Navigating WSDL and XSD Files."

Request and Response Examples

Request and response examples for each web service are not provided in this documentation. However, several request and response examples are provided, which you can use to help you create or understand other web service requests and responses. See "Order Management Request and Response Examples," which also provides information on how to generate XML examples for any given web service operation.

Web Service Operations Used for Order Management

This section describes web service operations used for order management. This includes creating, retrieving, updating and cancelling an order. Order management operations are defined in the OrderManagementWS.wsdl file.

Each operation lists preconditions that must exist for a successful invocation of the web service operation. However, the following preconditions are common to all operations, so they are listed here rather than repeated for each operation:

  • OSM Web Service calls are authenticated by the server based on the user ID and password provided in the request header. Only requests that pass authentication are processed by the server.

  • API users must belong to the WebLogic group, OMS_ws_api.

CreateOrderBySpecification

This operation creates a service order.

Preconditions

  • The order specification referenced on the request is defined in the metadata and has been deployed to the target OSM server.

  • The content of the order detail that is provided on the request must conform to the order specification referenced on the request.

  • The user performing the transaction is a member of at least one workgroup that has been granted permission on the creation task for the referenced order specification.

Expected Outcome

The order is created and processing begins. If the newly created order is matched against an existing order (based on the key defined on the order's specification), then this new order is an amendment to an existing order, and information regarding the amended order and status of the amendment is returned.

If the newly created order is not an amendment, the order is transitioned to the open.running.in_progress state by specifying StartOrder=true.

Alternate Outcome with Start Order Set to False

The order is created but processing does not begin. The order is in the open.not_running.not_started state. The order can be further updated and started through the UpdateOrder operation.

Attachments

You can add attachments through the createOrderBySpecification operation. Attachments are added by populating the Remark element, which provides a place to define a text remark as well as an attachment. The attachment is added by populating the Attachment element, which is a child element of Remark. Within the Attachment element, you can define a sequence of file names and their corresponding file types. For additional information, see the OrderManagementWS.xsd file, which defines these elements.

Reference Nodes

Reference nodes are pointers to values contained in different data nodes, and they enable you to create information once and reuse it in multiple locations in your data model. You set up reference nodes at order creation time.

To set up reference nodes in an order, when creating the order, you must explicitly give the referred-to field an index, and then refer to it with {#} in the reference. For an example that demonstrates how to set up reference nodes at order creation time as part of coding the automation plug-ins that call the CreateOrderBySpecification web service operation, see "Request Example - Setting Up Reference Nodes."

CreateOrder

This operation creates a new order.

Preconditions

  • The content of the order detail that is provided on the request must conform to a defined recognition rule.

  • The user performing the transaction is a member of at least one workgroup that has been granted permission on the creation task for the order.

Expected Outcome

The order is created and processing begins. The order is transitioned to the open.running.in_progress state by specifying StartOrder=true.

FindOrder

This operation finds a set of orders that match all the conditions defined in the select clause. The SelectBy element specifies which orders will be returned.

Note:

If you choose to specify the name of the cartridge in the SelectBy element of the request and you do not specify the cartridge version, only orders from the default version will be returned. If you wish to retrieve orders from all of the versions of the specified cartridge, include "*" as the cartridge version.

Results can contain a combination of flexible headers and task data. The calling user must belong to a role with permissions to view the order. If the user does not have the permission, no data is returned.

Flexible Headers are user-defined columns which are displayed while viewing order details. Flexible headers are set by OSM administrators. Generally the path of a flexible header is /<WebService>/<ElementGroup>/<FlexibleHeader>. Note that /<WebService> is preceded by a single slash (/). A double slash (//) or no slash will yield different results. See XML API Functionality for details on how to query and retrieve orders that include available flexible headers using the XML API.

Preconditions

  • The order being retrieved must exist. If the order does not exist, FindOrder returns an empty set.

Expected Outcome

Order data that meets specified selection criteria is returned in the specified sequence and is viewed through the specified filter.

GetOrder

This operation retrieves an order. A summary of the order is returned, along with the detailed order data based on a specified order view (query task) template. See also "GetOrder Examples."

Parameters

OrderId

The identification of the order to be retrieved.

View

The name of the view (query task) used to determine the order data that is returned. You must associate the task data you want to return to a role in the Oracle Communications Design Studio Order editor Permissions Query Task sub tab and set a query task with the data to be returned as the Default query task.

The following parameters are optional:

AmendmentFilter

Retrieves the amendment information associated with this order, if the LevelOfDetail child element is set to AmendmentSummary. If it is not specified, no amendment summary is returned.

AttachmentFilter

If RetrieveRemarks is set to true, zero or more filters (FileNameMatch, MinSize, MaxSize, Format) may control how attachments are returned. Attachment filters are processed in the order they are provided. If no filters are provided, then no attachments are returned.

OrderDataFilter

Parent element for the Condition child element that specifies which order data to return in the GetOrder response message specified in the View parameter. This filtering functionality improves OSM performance, especially when the order with the multi-instance data is a large order.

  • Condition: An XPath 1.0 expression against the order data defined by the View parameter. OSM returns only the instances of the order data selected by the expression, not the other instances of the element. All other parent or sibling elements are returned.

    For example, in a situation where a customer has multiple <address> instances (where <address> is a multi-instance element), the following expression ensures that OSM returns only the <address> element that contains a child street element with the specified street address. The response includes all child nodes of the instance of the <address> element (city, postal code, and street). The other instances of the <address> element and their child elements (city, street, and postal code) are not returned.

    <ord:OrderDataFilter>
       <ord:Condition>/subscriber_info/address/[street='190 Drive']</ord:Condition>
    </ord:OrderDataFilter>
    

    In the example, any sibling elements of <subscriber_info>, or sibling elements of <address> (except for the other instances of the <address> element) would be returned.

    When you are using an order condition that includes an element that is using a distributed order template, you should include the namespace of the data element in the condition. For example:

    <OrderDataFilter>
       <Condition>
          /ControlData/OrderItem[@type='{OrderItemNamespace}OrderItemName' and @LineId='1']
       </Condition>
    </OrderDataFilter>
    

    There can be as many <Condition> child elements as required. When there are more than one <Condition> elements, each condition is evaluated and applied independently of the other conditions to the sections of the order data respectively.

RemarkFilter

Controls how remarks and attachments are returned.

RetrieveRemarks

Set to true if remarks and associated attachments should be returned.

Preconditions

  • The specified order exists.

  • The user performing the transaction is a member of one or more workgroups that has been assigned the specified view (query task) for the order definition in question.

Expected Outcome

The order summary and detail are returned. If the order contains any remarks or attachments, they are returned based on the filters set on the request.

UpdateOrder

This operation allows order data to be updated, and allows orders that have been created but not started (in the open.not_running.not_started state) to be started.

The updateOrder operation defines different ways to update the order:

  • UpdatedOrder: Provides the ability to update the order by supplying a complete order. The existing order is updated (elements added, changed, or deleted) to match the supplied order.

  • UpdatedNodes: Provides the ability to update the order by supplying only the nodes to be updated (elements added or changed). Deletes are not performed using UpdatedNodes. The nodes are supplied in the format of the existing order.

  • DataChange: Provides the ability to update the order by supplying a series of add, update, and delete elements that are used to manipulate the order.

Note:

If you update an order either to add a node (which includes providing a value to a node that did not previously have one) or to delete a node (which includes setting the value of a node to null), the OSM order transformation manager will not propagate the change in either the forward or reverse direction. For more information about data propagation, see the discussion of mapping rules in the Design Studio Modeling OSM Orchestration Help.

You can specify and filter which data to return in response to the UpdateOrder requests:

  • ResponseView: An optional parameter that defines the name of the view (query task) that specifies what parameters are returned in UpdateOrder responses. If the UpdateOrder request results in a fulfillment state update, the response auto-filters nodes to only include the affected OrderItem and OrderComponent instances.

  • OrderDataFilter: Parent element for the Condition child element that specifies which order data to return in the OrderUpdate response message specified in the ResponseView parameter.

    • Condition: An XPath 1.0 expression against the order data defined by the ResponseView parameter. OSM returns only the instances of the order data selected by the expression, not the other instances of the element. All other parent or sibling elements are returned.

      For example, in a situation where a customer has multiple <address> instances (where <address> is a multi-instance element), the following expression ensures that OSM returns only the <address> element that contains a child street element with the specified street address. The response includes all child nodes of the instance of the <address> element (city, postal code, and street). The other instances of the <address> element and their child elements (city, street, and postal code) are not returned.

      <ord:OrderDataFilter>
         <ord:Condition>/subscriber_info/address/[street='190 Drive']</ord:Condition>
      </ord:OrderDataFilter>
      

      For example, any sibling elements of <subscriber_info>, or sibling elements of <address> (except for the other instances of the <address> element) would be returned.

      When you are using an order condition that includes an element that is using a distributed order template, you should include the namespace of the data element in the condition. For example:

      <OrderDataFilter>
         <Condition>
            /ControlData/OrderItem[@type='{OrderItemNamespace}OrderItemName' and @LineId='1']
         </Condition>
      </OrderDataFilter>
      

In addition, you can directly specify order fulfillment using the ExternalFulfillmentStates element rather than do so with Add or Update statement on an UpdateOrder. This optional approach improves order processing efficiency, especially in large orders. The ExternalFulfillmentStates element has the following child elements:

  • OrderItemOrderComponentFulfillmentState: The parent element to the children elements that specify the new external fulfillment state of an order component and order item.

    • ExternalFulfillmentState: The new external fulfillment state.

    • OrderComponentIndex: The order component index. Every order component element must specify a unique index attribute. In most cases, the automation running the XML API OrderUpdate already knows which order component the update is for.

    • OrderItemIndex: The order item index. Every order item element must specify a unique index attribute. In most cases, the automation running the XML API OrderUpdate already knows which order component the update is for.

For samples of updateOrder, see SDK/Samples/WebService.

Preconditions

  • The user performing the transaction is a member of at least one workgroup (role) that has been granted permission on the creation task (view) for the order specification associated with the order.

  • The order is in the open.not_running.not_started state.

Note:

These preconditions apply if the order is in the not_started state. You can update the order data when the order is running, if the order life-cycle policy permissions allow it for the task you want to update.

You must associate the task data you want to update to a role in the Design Studio Order editor Permissions Query Task sub tab and set a query task with the required data as the Default query task. You can associate only one role per task in the Order editor. The user specified in the UpdateOrder header must be a member of this role.

Expected Outcome

The order's data is updated successfully but remains in the open.not_running.not_started state. The order can be further updated or started by additional calls to the UpdateOrder operation.

Attachments

You can add attachments through the updateOrder operation. Attachments are added by populating the Remark element, which provides a place to define a text remark as well as an attachment. The attachment is added by populating the Attachment element, which is a child element of Remark. Within the Attachment element, you can define a sequence of file names and their corresponding file types. For additional information, see the OrderManagementWS.xsd file, which defines these elements.

SuspendOrder

This operation suspends an order thereby preventing work items associated with the order from being processed. A suspended order must be resumed before its associated work items can once again be processed.

Preconditions

  • The current state of the specified order is open.running.in_progress or open.not_running.not_started.

  • The target state of the order is not set.

  • The order life-cycle policy associated with the order's specification has the Suspend Order transaction enabled from the open.running.in_progress state or from the not_started state.

  • The user performing the transaction is a member of one or more of the workgroups associated with the Suspend Order transaction referenced in the precondition.

Expected Outcome

The order is successfully transitioned to the open.not_running.suspended state. Users are restricted from processing work items associated with the suspended order.

Alternate Outcome with Grace Period

The order enters into a grace period that allows all work items that are currently accepted to be processed. During the grace period, the current order state remains open.running.in_progress and the target state is set to open.not_running.suspended. The order will complete the transition to the open.not_running.suspended state when all accepted work items for the order are completed or the grace period expires, whichever comes first. New work items cannot be accepted during the grace period.

The grace period may be configured on the order state policy and/or specified on this call.

ResumeOrder

This operation resumes an order that is currently suspended or cancelled so that work items associated with the order are allowed to be processed.

Preconditions

  • The current state of the specified order is either open.not_running.suspended or open.not_running_cancelled.

  • The target state of the order is not set.

  • The order life-cycle policy associated with the order's specification has the Resume Order transaction enabled from the open.not_running.suspended state or open.not_running.cancelled state.

  • The user performing the transaction is a member of one or more of the workgroups associated with the Resume Order transaction referenced in precondition.

Expected Outcome

The order is successfully transitioned to the open.running.in_progress or open.not_running.not_started state. Authorized users may process work items associated with the specified order.

CancelOrder

This operation cancels an order. All outstanding work items associated with the order are deleted, and all complete work items associated with the order are compensated (undone).

Preconditions

  • The current state of the specified order is open.running.in_progress or open.not_running.suspended.

  • The target state of the order is not set.

  • The order life-cycle policy associated with the order's specification has the Cancel Order transaction enabled from the current order state (open.running.in_progress state or open.not_running.suspended).

  • The user performing the transaction is a member of one or more of the workgroups associated with the Cancel Order transaction referenced in precondition.

Expected Outcome

The order is successfully transitioned to the open.running.compensating.cancelling state. Incomplete work items associated with the order are deleted. Completed work items associated with the specified order are compensated. Once compensation completes, the order is transitioned to open.not_running.cancelled.

Alternate Outcome with Grace Period

The order enters into a grace period that allows all work items that are currently accepted to be processed. During the grace period, the current order state remains at its current value (open.running.in_progress or open.not_running.suspended) and the target order state is set to open.running.compensating.cancelling. The order will complete the transition to the open.running.compensating.cancelling state when all accepted work items for the order are completed or the grace period expires, whichever comes first. New work items cannot be accepted during the grace period. The grace period may be configured on the order life-cycle policy and/or specified on this call.

AbortOrder

This operation aborts an order, and aborts all work items associated with the order. You can grant permissions for this operation by editing the Abort Order transaction in the order life-cycle policy associated with the order's specification in Design Studio.

Preconditions

  • The user performing the operation must be a member of one or more of the workgroups associated with the Abort Order transaction.

Expected Outcome

The order is successfully transitioned to the closed.aborted state. Users are restricted from processing the aborted order.

FailOrder

This operation fails an order. A failure must be resolved before the order can proceed any further. You can grant permissions for this operation by editing the Fail Order transaction in the order life-cycle policy associated with the order's specification in Design Studio.

Preconditions

  • The user performing the operation must be a member of one or more of the workgroups associated with the Fail Order transaction.

Expected Outcome

The order is successfully transitioned to the open.not_running.failed state. Users are restricted from processing work items associated with the failed order.

Alternate Outcome With Grace Period

The order enters into a grace period that allows all work items that are currently accepted to be processed. During the grace period, the current order state remains open.running.in_progress and the target state is set to open.not_running.failed. The order will complete the transition to the open.not_running.failed state when all accepted work items for the order are completed or the grace period expires, whichever comes first. New work items cannot be accepted during the grace period. The grace period may be configured on the order state policy or specified on this call.

ResolveFailure

This operation resolves all failed tasks within an order or a collection of order components for a given order. The operation causes all tasks to transition back to the corresponding normal execution mode such as do, redo and undo from failed-do, failed-redo, or failed undo. The operation also causes the task to return to the task state it had been in before failing (normally the accepted or a custom task state).

If you use the failed order state, then this operations also causes an order that is currently failed to transition back to the order state prior to entering the current failed order state.

You can grant permissions for this operation by editing the Manage Order Fallout transaction for the failed, amending, canceling, in progress, suspended, or waiting for revision states in the order life-cycle policy associated with the order's specification in Design Studio.

Preconditions

  • The current state of the specified order must be one of the following:

    • open.not_running.failed

    • open.not_running.suspended

    • open.not_running.waitinforrevision

    • open.running.in_progress

    • open.running.amending

    • open.running.canceling

  • The user performing the operation must be a member of one or more of the workgroups associated with the Manage Order Fallout transaction.

Expected Outcome

All tasks on the order or on specific order components of the order that are in a failed execution mode transition to the corresponding normal execution mode in the state the task had been in before failing. For example, an order with a task in the failed-undo mode in the accepted state would transition back to the normal undo mode in the state the task had been in when it had failed.

If this operation is run when the order is in the failed sate, then the order is successfully transitioned to its previous state.

RetryOrder

This operation retries all failed tasks within an order or a collection of order components for a given order. The operation causes all tasks to transition back to the corresponding normal execution modes such as do, redo and undo from failed-do, failed-redo, or failed-undo. The operation also causes tasks to return to the received state.

You can grant permissions for this operation by editing the Manage Order Fallout transaction for the failed, amending, canceling, in progress, suspended, or waiting for revision states in the order life-cycle policy associated with the order's specification in Design Studio.

Preconditions

  • The current state of the specified order must be one of the following:

    • open.not_running.failed

    • open.not_running.suspended

    • open.not_running.waitinforrevision

    • open.running.in_progress

    • open.running.amending

    • open.running.canceling

  • The user performing the operation must be a member of one or more of the workgroups associated with the Manage Order Fallout transaction.

Expected Outcome

All tasks on the order or on specific order components of the order that are in a failed execution mode transition to the corresponding normal execution mode in the received state. For example, an order with a task in the Failed-Undo mode in the accepted state would transition to the Undo mode in the received state and another task in the Failed-Do mode in the assigned state would transition to the Do mode in the received state.

Web Service Operations Used for Problem Order Diagnosis

This section describes web service operations used for diagnosing problem orders. This includes getting order process history, compensation history and compensation details. Order diagnoses operations are defined in the OrderManagementDiag.wsdl.wsdl file

GetOrderProcessHistory

This operation returns process history perspective of an order. The different kinds of process history perspectives are:

  • Original: An order that has never been compensated and has only one (the original) process history perspective. For an order that has been compensated, the original process history perspective includes all tasks created before the first compensation for the order has started.

  • Latest: Includes all tasks that have never been compensated.

  • Identified by compensationID: A new process history perspective is created for the compensation of each order that has been started. A task must satisfy the following conditions to be included in the process history perspective that is identified by compensation:

    • To be created before any later compensation has started (if any).

    • Not to be compensated in any prior compensation.

    When a task is "redo" compensated, the "redo" compensator replaces the task in all subsequent process history perspectives. When a task is "undone," it is not included into any subsequent process history perspectives. Tasks that are compensated in the compensation context that the process history is requested for are included in the response and their compensation details are provided.

Use the GetOrderCompensations operation to retrieve information about order compensations, including their IDs. See "GetOrderCompensations."

Preconditions

  • The specified order exists.

Expected Outcome

The process history perspective for the order is returned.

GetOrderCompensations

This operation retrieves the history of all compensations for an order. For each compensation, the data returned includes the type of compensation, submission date, start date (optional), and completion date (optional).

Preconditions

  • The specified order must exist.

  • The specified order must be in the open.running.compensating.amending or open.running.compensating.cancelling state.

Expected Outcome

The order compensation plan information is returned as a set of compensation tasks, along with the compensation dependencies between them.

GetCompensationPlan

This operation retrieves compensation plan details for an order. For each compensation plan, the data returned includes the type of compensation, active compensation task information, pending compensation task information , and the state transition history for compensation tasks.

Preconditions

  • The specified order must exist.

  • The specified order must be open.running.compensating.amending or open.running.compensating.cancelling.

Expected Outcome

The order compensation plan information is returned.

Navigating WSDL and XSD Files

This section describes how to navigate the WSDL and XSD files to determine the input parameters, responses, and fault types that a given OSM Web Service operation defines. The information is presented through an example that is applicable to all operations.

Order Management WSDL File

Example 2-4 is an excerpt from the OrderManagementWS.wsdl file that shows how a typical OSM Web Service operation is defined.

Example 2-4 WSDL Operation Definition

<wsdl:operation name="CreateOrderBySpecification">		
			  <wsdl:input message="prov:CreateOrderBySpecificationRequest">
			  </wsdl:input>
			  <wsdl:output message="prov:CreateOrderBySpecificationResponse">
			  </wsdl:output>
			  <wsdl:fault name="InvalidOrderSpecificationFault" 
    message="prov:CreateOrder_faultMsg">
			  </wsdl:fault>
			  <wsdl:fault name="TransactionNotAllowedFault" 
    message="prov:CreateOrder_faultMsg1">
  </wsdl:fault>
			  <wsdl:fault name="InvalidOrderDataFault" 
    message="prov:CreateOrder_faultMsg3">
			  </wsdl:fault>
		</wsdl:operation>
 

The WSDL file defines each operation in the same manner, which provides the following information:

  • Operation name: The name of the web service operation.

  • Input message: The request structure that is defined in the corresponding XSD file.

  • Output message: The response structure that is defined in the corresponding XSD file.

  • Fault names: The exception structures that are defined in the corresponding XSD file.

The WSDL file tells you what request goes with what response, and what exceptions the request may throw. Each web service operation defines a request and a response, which are the input and output parameters. The request and response structures are defined in the corresponding XSD file. For example, the CreateOrderBySpecification operation is defined in the OrderManagmentWS.wsdl file, and the corresponding XSD file is OrderManagementWS.xsd.

Order Management XSD File

This section describes how to navigate the XSD files. The request and response structures defined in the XSD are used by the OSM Web Service operations as input and output parameters. This section provides graphics of the XSD in various states of expansion. You can view the XSD using any XML application, such as XMLSpy.

XMLSpy offers several ways to view XML files. XSD files containing large structures can be very difficult to read. The examples provided in this section show how to view XSD files using the Schema/WSDL Design view, which allows you to view the top level structures and then expand and collapse them as needed. Viewing the XML structure in this manner automatically pulls in any referenced structures, removing the need to scroll around to locate them.

Note:

If you are using an application other than XMLSpy to view XML files, your views of the XSD may differ from the examples used in this section.

Determining Input Parameters (Request)

Figure 2-1 shows a portion of the OrderManagmentWS.xsd file in the Schema/WSDL Design view, as it appears when first opened. This is the top level of the view, which lists all simpleType, complexType, and elements that are defined in the file.

Figure 2-1 Schema/WSDL Design View

Description of Figure 2-1 follows
Description of "Figure 2-1 Schema/WSDL Design View"

From the top level, clicking the grey box located to the left of any element or complexType expands the structure. Continuing with the example, Figure 2-2 shows the result of clicking the grey box located to the left of CreateOrderBySpecification.

From this level, you can see that CreateOrderBySpecification defines CreateOrderBySpecificationRequestType, but you cannot see what CreateOrderBySpecificationRequestType actually defines. Clicking the "+" located within the CreateOrderBySpecificationRequestType structure box expands the structure. Figure 2-3 and Figure 2-4 show the result of this action.

Figure 2-3 Further Expanded Structure

Description of Figure 2-3 follows
Description of "Figure 2-3 Further Expanded Structure"

Figure 2-4 Further Expanded Structure (continued)

Description of Figure 2-4 follows
Description of "Figure 2-4 Further Expanded Structure (continued)"

From this level, you can see that CreateOrderBySpecificationRequestType defines:

  • Specification

  • Reference

  • Priority

  • AutoAddMandatoryData

  • StartOrder

  • Data

  • Remark

However, you cannot see what the Specification, Data, or Remark structures define. As with the previous level, you can expand any of these structures by clicking the "+" located to the right of the structure name. Clicking the "+" located within the Data and Remark structure box expands the structures. Figure 2-5 shows the result of this action.

Figure 2-5 Further Expansion of Data and Remark Elements

Description of Figure 2-5 follows
Description of "Figure 2-5 Further Expansion of Data and Remark Elements"

Expanding the Specification, Data, and Remark structures shows additional defined structures and fields. In this example, note that the structure defined under the Data structure (OrderDataType any) is a structure that is defined in Design Studio. For example, you may define five different order templates, so the structure under the Data structure varies depending on the order type. The order-specific data in the request is validated by the server through the creation task view.

Note:

To collapse any of the structures at any level, click "-" located near the structure name. You can also collapse all structures and return to the top level by clicking the collapse button, located in the upper left corner as shown in Figure 2-3. The collapse button is only visible in the upper left corner, so you must scroll all the way up and all the way to the left to see it.

Determining Output Parameters (Response)

You can expand the response structure defined for an operation. Figure 2-6 shows the top level of the OrderManagementWS.xsd file in Schema/WSDL Design view. Continuing with our example, expand CreateOrderBySpecificationResponse to determine the expected response.

Figure 2-6 Schema/WSDL Design View

Description of Figure 2-6 follows
Description of "Figure 2-6 Schema/WSDL Design View"

Figure 2-7 shows the expected response defined by CreateOrderBySpecificationResponse, which can be expanded even further.

Determining Fault Types

You can expand the fault names defined for the operation. Continuing with the CreateOrderBySpecification example, InvalidOrderSpecificationFault, TransactionNotAllowedFault, and InvalidOrderDataFault are all defined as top level structures in the OrderManagementWS.xsd file.

Order Management Request and Response Examples

This section provides sample XML requests and sample XML responses. Sample XML for any web service operation can be generated from the XSD using any XML application such as XMLSpy.

To generate a sample XML file using XMLSpy:

  1. Open an XSD file in XMLSpy.

  2. From the menu, select DTD/Schema, then select Generate Sample XML File.

    The Select a Root Element dialogue box opens, which lists all root elements defined in the XSD, such as CreateOrder, CreateOrderResponse, FindOrder, FindOrderResponse, and so on.

  3. Select a root element and click OK.

    The Generate Sample XML File dialogue box appears, which provides a few selection options such as generating non-mandatory elements and attributes, the number of structures to generate for structures that are defined as a sequence, and whether or not to populate the XML with data.

  4. Choose the appropriate options and click OK.

    The generated XML displays within a new file, Untitled.xml.

Generating XML in this manner does not generate the SOAP header and body. However, the SOAP header and body can be manually inserted into the generated XML.

CreateOrderBySpecification Examples

This section provides a request example and a response example for the CreateOrderBySpecification operation.

Request Example

Example 2-5 CreateOrderBySpecificationRequest

<?xml version = '1.0' encoding = 'UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>administrator</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
</wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
<soapenv:Body>
      <ws:CreateOrderBySpecification>
         <ws:Specification>
            <ws:Cartridge>
               <ws:Name>view_framework_demo</ws:Name>
               <!--Optional:-->
               <ws:Version>1.0</ws:Version>
            </ws:Cartridge>
            <ws:Type>vf_demo</ws:Type>
            <ws:Source>web</ws:Source>
         </ws:Specification>
         <!--Optional:-->
         <ws:Reference>test message</ws:Reference>
         <!--Optional:-->
         <ws:Priority>5</ws:Priority>
         <!--Optional:-->
         <ws:AutoAddMandatoryData>true</ws:AutoAddMandatoryData>
         <!--Optional:-->
         <ws:StartOrder>true</ws:StartOrder>
         <!--Optional:-->
         <ws:Data>
<_root>
             <account_information>
               <amount_owing>553</amount_owing>
             </account_information>
           </_root>
         </ws:Data>
<!--Zero or more repetitions:-->
<ws:Remark>
            <!--Optional:-->
            <ws:Text>Test Remark</ws:Text>
            <!--Zero or more repetitions:-->
            <ws:Attachment>
               <!--Optional:-->
               <ws:Name>readme.txt</ws:Name>
               <!--You have a CHOICE of the next 3 items at this level-->
               <ws:swaRefMimeContent>cid:first</ws:swaRefMimeContent>
               <!--ws:base64BinaryContent>?</ws:base64BinaryContent>
               <ws:hexBinaryContent>?</ws:hexBinaryContent-->
     </ws:Attachment>
 </ws:Remark>
<ws:Remark>
            <!--Optional:-->
            <ws:Text>Test Remark</ws:Text>
            <!--Zero or more repetitions:-->
            <ws:Attachment>
               <!--Optional:-->
               <ws:Name>test2.txt</ws:Name>
               <!--You have a CHOICE of the next 3 items at this level-->
               <ws:swaRefMimeContent>cid:second</ws:swaRefMimeContent>
               <!--ws:base64BinaryContent>?</ws:base64BinaryContent>
               <ws:hexBinaryContent>?</ws:hexBinaryContent-->
     </ws:Attachment>
 </ws:Remark>
         </ws:CreateOrderBySpecification>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

Example 2-6 CreateOrderBySpecificationResponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<ws:CreateOrderBySpecificationResponse xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<ws:OrderSummary>
<ws:Id>202</ws:Id>
<ws:Specification>
<ws:Cartridge>
<ws:Name>view_framework_demo</ws:Name>
<ws:Version>1.0</ws:Version>
</ws:Cartridge>
<ws:Type>vf_demo</ws:Type>
<ws:Source>web</ws:Source>
</ws:Specification>
<ws:State>open.not_running.not_started</ws:State>
<ws:Reference>test message</ws:Reference>
<ws:Priority>5</ws:Priority>
</ws:OrderSummary>
</ws:CreateOrderBySpecificationResponse>
</soapenv:Body>

Request Example - Setting Up Reference Nodes

This example demonstrates how to set up reference nodes in the task data of the creation task when you code the CreateOrderBySpecification call in your XQuery or XSLT or Java automation plug-ins.

Note:

A creation task is selected for an order in the Order Editor Details tab of Design Studio. In this example, the name of the creation task (for which the CreateOrderBySpecification call requires the order data) is in the parameter <ord:View>ReferenceDebugCreationTask</ord:View>.

When creating the order you must explicitly give the referred-to field an index, and then refer to it with {#} in the reference. You assign the index and code it when you write your automation plug-in code (XQuery/XSLT/Java code).

In this example, <LineItem index="1"> is the index value you defined to this LineItem instance in your automation plug-in code. The index value must be unique within this CreateOrderBySpecification order data; this allows you to refer to this instance later as <LineItem_refNode>{1}</LineItem_refNode> to point to a single data node location in the order template at order creation time.

Example 2-7 CreateOrderBySpecificationRequest - Setting Up Reference Nodes

<ord:CreateOrderBySpecification>
  <ord:Specification>
    <ord:Cartridge>
      <ord:Name>ReferenceDebug</ord:Name>
      <ord:Version>1.0.0</ord:Version>
    </ord:Cartridge>
    <ord:Type>ReferenceDebugOrder</ord:Type>
    <ord:Source>ReferenceDebugOrder</ord:Source>
    <ord:View>ReferenceDebugCreationTask</ord:View>
  </ord:Specification>
  <ord:Reference>created from SoapUI</ord:Reference>
  <ord:Priority>5</ord:Priority>
  <ord:AutoAddMandatoryData>false</ord:AutoAddMandatoryData>
  <ord:StartOrder>false</ord:StartOrder>
  <!--Optional:-->
  <ord:Data>
    <_root>
      <Data>
        <LineItem index="1">
           <ID>1</ID>
        </LineItem>
        <LineItem index="2">
          <ID>2</ID>
        </LineItem>
      </Data>
      <References>
        <LineItem_refNode>{1}</LineItem_refNode>
      </References>
    </_root>
  </ord:Data>
 </ord:CreateOrderBySpecification>

GetOrder Examples

This section provides a request example and a response example for the GetOrder operation.

Request and Response Example

Example 2-9 shows a GetOrderRequest.

Example 2-9 shows a GetOrderRequest that specifies that the data defined by the demo_query query task be returned in the GetOrderResponse from the order with order ID 9.

Example 2-10 shows the GetOrderResponse returned for the GetOrderRequest in Example 2-9.

Example 2-8 GetOrder Request

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header/>
   <soapenv:Body>
      <ord:GetOrder>
         <ord:OrderId>?</ord:OrderId>
         <!--Optional:-->
         <ord:View>?</ord:View>
         <!--Optional:-->
         <ord:OrderDataFilter>
            <!--Zero or more repetitions:-->
            <ord:Condition>?</ord:Condition>
         </ord:OrderDataFilter>
         <!--Optional:-->
         <ord:RemarkFilter>
            <!--Optional:-->
            <ord:RetrieveRemarks>false</ord:RetrieveRemarks>
            <!--Zero or more repetitions:-->
            <ord:AttachmentFilter>
               <!--Optional:-->
               <ord:FileNameMatch>.*</ord:FileNameMatch>
               <!--Optional:-->
               <ord:MinSize>0</ord:MinSize>
               <!--Optional:-->
               <ord:MaxSize>4</ord:MaxSize>
               <!--Optional:-->
               <ord:Format>inlineBase64Binary</ord:Format>
            </ord:AttachmentFilter>
         </ord:RemarkFilter>
         <!--Optional:-->
         <ord:AmendmentFilter>
            <ord:LevelOfDetail>AmendmentSummary</ord:LevelOfDetail>
         </ord:AmendmentFilter>
         <!--Optional:-->
         <ord:LifecycleEventFilter>
            <!--Optional:-->
            <ord:RetrieveLifecycleEvents>false</ord:RetrieveLifecycleEvents>
         </ord:LifecycleEventFilter>
      </ord:GetOrder>
   </soapenv:Body>
</soapenv:Envelope>

Example 2-9 GetOrderRequest

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement" xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header>
       <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>Username</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
  </soapenv:Header>
   <soapenv:Body>
      <ord:GetOrder>
         <ord:OrderId>9</ord:OrderId>
         <ord:View>demo_query</ord:View>
        </ord:GetOrder>
   </soapenv:Body>
</soapenv:Envelope>

Example 2-10 GetOrderResponse

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Header/>
  <env:Body>
     <GetOrderResponse xmlns="http://xmlns.oracle.com/communications/ ordermanagement">
        <OrderSummary>
           <Id>9</Id>
           <Specification>
              <Cartridge>
                 <Name>bb_ocm_demo</Name>
                 <Version>1.0.0.0.0</Version>
              </Cartridge>
              <Type>add_adsl_siebel</Type>
              <Source>add_adsl_siebel</Source>
           </Specification>
           <State>open.running.in_progress</State>
           <Reference></Reference>
           <CreatedDate>2014-10-30T08:24:15.000-07:00</CreatedDate>
           <ExpectedDuration>P1D</ExpectedDuration>
           <ExpectedOrderCompletionDate>2014-10-31T08:24:26.000-07:00 </ExpectedOrderCompletionDate>
            <ProcessStatus>n/a</ProcessStatus>
            <Priority>5</Priority>
     </OrderSummary>
     <Data>
        <osmc:_root index="0" xmlns:osmc="urn:oracle:names: ordermanagement:cartridge:bb_ocm_demo:1.0.0.0.0:view:demo_query">
           <osmc:subscriber_info index="1414682666683">
              <osmc:address index="1414682666684">
                 <osmc:city index="1414682666687">TO</osmc:city>
                 <osmc:postal_code index="1414682666686">M9W6H8</osmc:postal_code>
                 <osmc:street index="1414682666685">190 Attwell Drive</osmc:street>
              </osmc:address>
              <osmc:address index="1414682666692">
                 <osmc:city index="1414682666693">TO</osmc:city>
                 <osmc:postal_code index="1414682666694">A1B2Z7</osmc:postal_code>
                 <osmc:street index="1414682666695">55 Updated St</osmc:street>
              </osmc:address>
              <osmc:address index="1414682666696">
                 <osmc:city index="1414682666697">TO</osmc:city>
                 <osmc:postal_code index="1414682666698">A1B2Z7</osmc:postal_code>
                 <osmc:street index="1414682666699">56 Updated St</osmc:street>
              </osmc:address>
              <osmc:primary_phone_number index="1414682666689">1111111111</osmc:primary_phone_number>
              <osmc:name index="1414682666688">John Doe</osmc:name>
           </osmc:subscriber_info>
           <osmc:adsl_service_details index="1414682666690">
              <osmc:bandwidth index="1414682666691">3</osmc:bandwidth>
           </osmc:adsl_service_details>
        </osmc:_root>
     </Data>
  </GetOrderResponse>
 </env:Body>
</env:Envelope>

Request and Response Example with OrderDataFilter

Example 2-11 shows a GetOrderRequest that specifies that the data defined by the demo_query query task be returned in the GetOrderResponse from the order with order ID 9. The GetOrderRequest also includes an OrderDataFilter that specifies that only the address instance with a corresponding street value of "190 Attwell Drive". should return in the GetOrderResponse.

Example 2-12 shows the GetOrderResponse returned for the GetOrderRequest in Example 2-11.

Example 2-11 GetOrderRequest with OrderDataFilter

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement" xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header>
       <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>Username</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
  </soapenv:Header>
   <soapenv:Body>
      <ord:GetOrder>
         <ord:OrderId>9</ord:OrderId>
         <ord:View>demo_query</ord:View>
         <ord:OrderDataFilter>
            <ord:Condition>/subscriber_info/address[street='190 Attwell Drive']</ord:Condition>
        </ord:OrderDataFilter>
        </ord:GetOrder>
   </soapenv:Body>
</soapenv:Envelope>

Example 2-12 GetOrderResponse with OrderDataFilter

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Header/>
  <env:Body>
     <GetOrderResponse xmlns="http://xmlns.oracle.com/communications/ ordermanagement">
        <OrderSummary>
           <Id>9</Id>
           <Specification>
              <Cartridge>
                 <Name>bb_ocm_demo</Name>
                 <Version>1.0.0.0.0</Version>
              </Cartridge>
              <Type>add_adsl_siebel</Type>
              <Source>add_adsl_siebel</Source>
           </Specification>
           <State>open.running.in_progress</State>
           <Reference></Reference>
           <CreatedDate>2014-10-30T08:24:15.000-07:00</CreatedDate>
           <ExpectedDuration>P1D</ExpectedDuration>
           <ExpectedOrderCompletionDate>2014-10-31T08:24:26.000-07:00
           </ExpectedOrderCompletionDate>
           <ProcessStatus>n/a</ProcessStatus>
           <Priority>5</Priority>
        </OrderSummary>
     <Data>
        <osmc:_root index="0" xmlns:osmc="urn:oracle:names: ordermanagement:cartridge:bb_ocm_demo:1.0.0.0.0:view:demo_query">
           <osmc:subscriber_info index="1414682666683">
              <osmc:address index="1414682666684">
                 <osmc:city index="1414682666687">TO</osmc:city>
                 <osmc:postal_code index="1414682666686">M9W6H8</osmc:postal_code>
                 <osmc:street index="1414682666685">190 Attwell Drive
                 </osmc:street>
              </osmc:address>
              <osmc:primary_phone_number index="1414682666689">1111111111
              </osmc:primary_phone_number>
              <osmc:name index="1414682666688">John Doe</osmc:name>
           </osmc:subscriber_info>
           <osmc:adsl_service_details index="1414682666690">
              <osmc:bandwidth index="1414682666691">3</osmc:bandwidth>
           </osmc:adsl_service_details>
        </osmc:_root>
     </Data>
  </GetOrderResponse>
 </env:Body>
</env:Envelope>

Response Example - Order with Distributed Order Template Elements and Transformed Order Items

Example 2-13 Partial GetOrderResponse containing Distributed Order Template Data

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
  <env:Header/>
  <env:Body>
    <GetOrderResponse xmlns="http://xmlns.oracle.com/communications/ordermanagement">
      <OrderSummary>
        <Id>20</Id>
        <Specification>
           <Cartridge>
             <Name>OsmCentralOMExample-Solution</Name>
             <Version>4.0.0.0.0</Version>
           </Cartridge>
           <Type>OsmCentralOMExampleOrder</Type>
           <Source>OsmCentralOMExampleOrder</Source>
         </Specification>
        <State>open.running.in_progress</State>
        <Reference>Order1397235767310</Reference>
        <CreatedDate>2014-04-11T10:03:28.000-07:00</CreatedDate>
        <RequestedDeliveryDate>2014-03-31T07:05:00.000-07:00
        </RequestedDeliveryDate>
        <ExpectedStartDate>2014-04-11T10:03:32.495-07:00</ExpectedStartDate>
        <ExpectedDuration>PT0S</ExpectedDuration>
        <ExpectedOrderCompletionDate>2014-04-11T10:03:32.495-07:00
        </ExpectedOrderCompletionDate>
        <Priority>5</Priority>
      </OrderSummary>
      <Data>
        <osmc:_root index="0" xmlns:osmc="urn:oracle:names:ordermanagement:cartridge:OsmCentralOMExample-Solution:4.0.0.0.0:view:OsmCentralOMExampleQueryTask">
          <osmc:OrderHeader index="1">
            <osmc:numSalesOrder index="2">Order1397235767310</osmc:numSalesOrder>
            <osmc:typeOrder index="3">Add</osmc:typeOrder>
          </osmc:OrderHeader>
          <osmc:CustomerDetails index="11">
            <osmc:nameLocation index="13">Location1</osmc:nameLocation>
            <osmc:typeAddress index="23">Building</osmc:typeAddress>
          </osmc:CustomerDetails>
          <osmc:AccountDetails index="24">
            <osmc:numAccount index="25">TEL1234</osmc:numAccount>
            <osmc:status index="26">Existing</osmc:status>
            <osmc:corporate index="27">PoC</osmc:corporate>
            <osmc:inscrState index="30">232,232,232,232</osmc:inscrState>
            <osmc:clientSince index="31">1986-12-31-08:00</osmc:clientSince>
            <osmc:category index="32">Corporate</osmc:category>
          </osmc:AccountDetails>
          <osmc:ControlData index="1397235812801">
            <osmc:Functions index="1397235812888">
              <osmc:ProvisioningFunction index="1397235811141">
                <osmc:transformedOrderItem index="1397235812898">
                  <osmc:orderItemRef xsi:type="ct160:TransformedOrderLineType" type="{http://www.oracle.com/otm/cso}TransformedOrderLineType" index="1397235812899" referencedIndex="1397235811129" xmlns:ct160="http://www.oracle.com/otm/cso" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <ct135:LineId index="1397235812853" xmlns:ct135="http://xmlns.oracle.com/communications/studio/ordermanagement/transformation">CSO_2</ct135:LineId>
                    <ct160:dynamicParams xsi:type="ct264:SA_Provision_BroadbandInternetType" type="{OracleComms_Model_BroadbandInternet/4.0.0.0.0}SA_Provision_BroadbandInternetType" index="1397235812848" xmlns:ct264="OracleComms_Model_BroadbandInternet/4.0.0.0.0">
                      <ct264:DownloadSpeed index="1397235812851">50</ct264:DownloadSpeed>
                      <ct264:QoS index="1397235812852">Data</ct264:QoS>
                      <ct264:UploadSpeed index="1397235812850">3.072</ct264:UploadSpeed>
                    </ct160:dynamicParams>
                    <ct160:Recognition index="1397235812846">{OracleComms_Model_BroadbandInternet/4.0.0.0.0}SA_Provision_BroadbandInternetSpec</ct160:Recognition>
                    <ct160:LineName index="1397235812847">SA_Provision_BroadbandInternetSpec [Add]</ct160:LineName>
                    <ct160:FulfillmentPattern index="1397235812855">{http://oracle.communications.ordermanagement.unsupported.centralom}Service.Broadband</ct160:FulfillmentPattern>
                    <ct160:Action index="1397235812854">Add</ct160:Action>
                  </osmc:orderItemRef>
                </osmc:transformedOrderItem>
                <osmc:componentKey index="1397235812889">ProvisioningFunction.DSLProvisioningSystem_Region2.WholeOrder</osmc:componentKey>
                <osmc:orderItem index="1397235812892">
                  <osmc:orderItemRef xsi:type="ct211:CustomerOrderItemSpecificationType" type="{http://oracle.communications.ordermanagement.unsupported.centralom}CustomerOrderItemSpecificationType" index="1397235812893" referencedIndex="1397235811126" xmlns:ct211="http://oracle.communications.ordermanagement.unsupported.centralom" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <ct211:productSpec index="1397235812811">Broadband Service Feature Class</ct211:productSpec>
                    <ct211:fulfPatt index="1397235812802">Service.Broadband</ct211:fulfPatt>
                    <ct211:lineId index="1397235812809">1</ct211:lineId>
                    <ct211:lineItemName index="1397235812808">Brilliant Broadband [Add]</ct211:lineItemName>
                    <ct211:requestedDeliveryDate index="1397235812806">2014-03-31T07:05:00-07:00</ct211:requestedDeliveryDate>
                    <ct211:region index="1397235812803">Rio de Janeiro</ct211:region>
                    <ct211:typeCode index="1397235812813">BUNDLE</ct211:typeCode>
                    <ct211:lineItemPayload index="1397235812805">
                      <im:salesOrderLine xmlns:im="http://xmlns.oracle.com/InputMessage">
                        <im:lineId>1</im:lineId>
                        <im:promotionalSalesOrderLineReference>1
                        </im:promotionalSalesOrderLineReference>
                        <im:serviceId/>
                        <im:requestedDeliveryDate>2014-03-31T07:05:00
                        </im:requestedDeliveryDate>
                        <im:serviceActionCode>Add</im:serviceActionCode>
                        <im:serviceInstance>N</im:serviceInstance>
                        <im:serviceAddress>
                          <im:nameLocation>Location1</im:nameLocation>
                          <im:typeAddress>Building</im:typeAddress>
                        </im:serviceAddress>
                        <im:itemReference>
                          <im:name>Brilliant Broadband</im:name>
                          <im:typeCode>BUNDLE</im:typeCode>
                          <im:primaryClassificationCode>Broadband Service Feature Class</im:primaryClassificationCode>
                          <im:specificationGroup/>
                        </im:itemReference>
                      </im:salesOrderLine>
                    </ct211:lineItemPayload>
                    <ct211:Recognition index="1397235812810">Broadband Service Feature Class</ct211:Recognition>
                    <ct211:Action index="1397235812812">Add</ct211:Action>
                    <ct211:ServiceInstance index="1397235812807">N</ct211:ServiceInstance>
                  </osmc:orderItemRef>
                </osmc:orderItem>
                [...]
                <osmc:calculatedStartDate index="1397235812890">2014-03-31T07:05:00-07:00</osmc:calculatedStartDate>
                <osmc:duration index="1397235812891">PT0S</osmc:duration>
              </osmc:ProvisioningFunction>
            </osmc:Functions>
            <osmc:OrderItem xsi:type="ct211:CustomerOrderItemSpecificationType" type="{http://oracle.communications.ordermanagement.unsupported.centralom}CustomerOrderItemSpecificationType" index="1397235811126" xmlns:ct211="http://oracle.communications.ordermanagement.unsupported.centralom" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              <ct211:productSpec index="1397235812811">Broadband Service Feature Class</ct211:productSpec>
              <ct211:fulfPatt index="1397235812802">Service.Broadband</ct211:fulfPatt>
              <ct211:lineId index="1397235812809">1</ct211:lineId>
              <ct211:lineItemName index="1397235812808">Brilliant Broadband [Add]</ct211:lineItemName>
              <ct211:requestedDeliveryDate index="1397235812806">2014-03-31T07:05:00-07:00</ct211:requestedDeliveryDate>
              <ct211:region index="1397235812803">Rio de Janeiro</ct211:region>
              <ct211:typeCode index="1397235812813">BUNDLE</ct211:typeCode>
              <ct211:lineItemPayload index="1397235812805">
                <im:salesOrderLine xmlns:im="http://xmlns.oracle.com/InputMessage">
                  <im:lineId>1</im:lineId>
                  <im:promotionalSalesOrderLineReference>1
                  </im:promotionalSalesOrderLineReference>
                  <im:serviceId/>
                  <im:requestedDeliveryDate>2014-03-31T07:05:00
                  </im:requestedDeliveryDate>
                  <im:serviceActionCode>Add</im:serviceActionCode>
                  <im:serviceInstance>N</im:serviceInstance>
                  <im:serviceAddress>
                    <im:nameLocation>Location1</im:nameLocation>
                    <im:typeAddress>Building</im:typeAddress>
                  </im:serviceAddress>
                  <im:itemReference>
                    <im:name>Brilliant Broadband</im:name>
                    <im:typeCode>BUNDLE</im:typeCode>
                    <im:primaryClassificationCode>Broadband Service Feature Class</im:primaryClassificationCode>
                    <im:specificationGroup/>
                  </im:itemReference>
                </im:salesOrderLine>
              </ct211:lineItemPayload>
              <ct211:Recognition index="1397235812810">Broadband Service Feature Class</ct211:Recognition>
              <ct211:Action index="1397235812812">Add</ct211:Action>
              <ct211:ServiceInstance index="1397235812807">N</ct211:ServiceInstance>
            </osmc:OrderItem>
            [...]
            <osmc:TransformedOrderItem xsi:type="ct160:TransformedOrderLineType" type="{http://www.oracle.com/otm/cso}TransformedOrderLineType" index="1397235811129" xmlns:ct160="http://www.oracle.com/otm/cso" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              <ct135:LineId index="1397235812853" xmlns:ct135="http://xmlns.oracle.com/communications/studio/ordermanagement/transformation">CSO_2</ct135:LineId>
              <ct160:dynamicParams xsi:type="ct264:SA_Provision_BroadbandInternetType" type="{OracleComms_Model_BroadbandInternet/4.0.0.0.0}SA_Provision_BroadbandInternetType" index="1397235812848" xmlns:ct264="OracleComms_Model_BroadbandInternet/4.0.0.0.0">
                <ct264:DownloadSpeed index="1397235812851">50</ct264:DownloadSpeed>
                <ct264:QoS index="1397235812852">Data</ct264:QoS>
                <ct264:UploadSpeed index="1397235812850">3.072</ct264:UploadSpeed>
              </ct160:dynamicParams>
              <ct160:Recognition index="1397235812846">{OracleComms_Model_BroadbandInternet/4.0.0.0.0}SA_Provision_BroadbandInternetSpec</ct160:Recognition>
              <ct160:LineName index="1397235812847">SA_Provision_BroadbandInternetSpec [Add]</ct160:LineName>
              <ct160:FulfillmentPattern index="1397235812855">{http://oracle.communications.ordermanagement.unsupported.centralom}Service.Broadband</ct160:FulfillmentPattern>
              <ct160:Action index="1397235812854">Add</ct160:Action>
            </osmc:TransformedOrderItem>
            <osmc:MappingContext index="1397235812856">
              <osmc:ProviderFunction index="1397235812857">
                <osmc:namespace index="1397235812858">OracleComms_Model_Base/4.0.0.0.0</osmc:namespace>
                <osmc:name index="1397235812859">CalculateServiceOrder</osmc:name>
                <osmc:TargetMapping index="1397235812860">
                  <osmc:target index="1397235812861">CSO_2</osmc:target>
                  <osmc:SourceMapping index="1397235812862">
                    <osmc:source index="1397235812863">2</osmc:source>
                    <osmc:InstantiatingMappingRule index="1397235812864">
                      <osmc:namespace index="1397235812865">http://www.oracle.com/otm/cso</osmc:namespace>
                      <osmc:name index="1397235812866">BroadbandMappingRule_Broadband_PS_SA_Provision_BroadbandInternet_Primary_---g--+U--+R---QI0kDkw</osmc:name>
                    </osmc:InstantiatingMappingRule>
                  </osmc:SourceMapping>
                  [...]
                </osmc:TargetMapping>
              </osmc:ProviderFunction>
            </osmc:MappingContext>
          </osmc:ControlData>
          <osmc:BillingProfile index="4">
            <osmc:mediaType index="5">1</osmc:mediaType>
            <osmc:typeInvoice index="6">Summary</osmc:typeInvoice>
            <osmc:billingCycle index="7">Q11</osmc:billingCycle>
            <osmc:exemptionICMS index="8">Yes</osmc:exemptionICMS>
            <osmc:empresaFaturamento index="9">Oi Fixed</osmc:empresaFaturamento>
            <osmc:paymentMethod index="10">1</osmc:paymentMethod>
          </osmc:BillingProfile>
        </osmc:_root>
      </Data>
    </GetOrderResponse>
  </env:Body>
</env:Envelope>

UpdateOrder Examples

This section provides request examples and a response example for the UpdateOrder operation.

Request Examples

Example 2-14 UpdateOrderRequest

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
 <soapenv:Body>
    <ws:UpdateOrder>
       <ws:OrderId>4</ws:OrderId>
       <ws:View>enter_payment_details</ws:View>
       <ws:UpdatedOrder>
           <_root>
               <account_information>
                   <amount_owing>222</amount_owing>
               </account_information>
            </_root>
       </ws:UpdatedOrder>
 </soapenv:Body>
</soapenv:Envelope>

Example 2-15 UpdateOrderRequest: Update nodes

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
    <ws:UpdateOrder>
      <ws:OrderId>4</ws:OrderId>
      <ws:View>enter_payment_details</ws:View>
      <WS:UpdatedNodes>
        <_root>
          <ControlData>
             <Functions>
                <FulfillBillingFunction>
                   <orderItem>
                   <ExternalFulfillmentState>COMPLETED</ExternalFulfillmentState>
                       <orderItemRef>
                          <serviceName>C_GSM_ADD_SUB</serviceName>
                          <LineId>987654</LineId>
                      </orderItemRef>
                   </orderItem>
               </FulfillBillingFunction>
             </Functions>
          </ControlData>
        </_root>
       </ws:UpdatedNodes>
       <ws:ExternalFulfillmentStates>  
         <ws:OrderItemOrderComponentFulfillmentState>
           <ws:ExternalFulfillmentState>COMPLETED</ws:ExternalFulfillmentState>
           <ws:OrderComponentIndex>1234</ws:OrderComponentIndex>
           <ws:OrderItemIndex>456789</ws:OrderItemIndex>
         </ws:OrderItemOrderComponentFulfillmentState>
       </ws:ExternalFulfillmentStates>
    </ws:UpdateOrder>
  </soapenv:Body>
</soapenv:Envelope>

Example 2-16 UpdateOrderRequest: Data change

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
<soapenv:Body>
<ws:UpdateOrder>
<ws:OrderId>41</ws:OrderId>
<ws:DataChange>
<ws:Update Path="/account_information/amount_owing">
444
</ws:Update>
</ws:DataChange>
<ws:StartOrder>false</ws:StartOrder>
<ws:View>enter_payment_details</ws:View>
</ws:UpdateOrder>
</soapenv:Body>
</soapenv:Envelope>

Example 2-17 UpdateOrderRequest: Data change with Distributed Order Template

<ord:UpdateOrder>
   <ord:OrderId>123</ord:OrderId>
   <ord:View>OsmCentralOMExampleQueryTask</ord:View>
   <ord:DataChange>
      <ord:Update Path="/ControlData/OrderItem[@index='111222333'][@type='{http://oracle.communications.ordermanagement.unsupported.centralom}CustomerOrderItemSpecificationType']/dynamicParams[@index='222333444'][@type='{OracleComms_Model_BroadbandInternet/4.0.0.0.0}Broadband_Bandwidth_PSType']/UploadSpeed">
         10000
      </ord:Update>
   </ord:DataChange>
</ord:UpdateOrder>

Request and Response Example with ResponseView and OrderDataFiltering

Example 2-18 shows the standard response message returned from an UpdateOrderRequest.

Example 2-19 shows an UpdateOrderRequest that adds a new customer address instance to the order that includes a ResponseView query task that defines the data to be returned in the UpdateOrderResponse message. The UpdateOrderRequest also includes an OrderDataFilter that specifies that only the new address instance with street value of "112 Update Drive" must be returned.

Example 2-20 shows the UpdateOrderResponse to the UpdateOrderRequest in Example 2-19.

Example 2-18 UpdateOrderResponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
<ws:UpdateOrderResponse xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<ws:OrderId>2180</ws:OrderId>
<ws:State>open.running.in_progress</ws:State>
</ws:UpdateOrderResponse>
</soapenv:Body>
</soapenv:Envelope>

Example 2-19 UpdateOrderRequest with ResponseView and OrderDataFilter

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
 <soapenv:Header>
  <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
   <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
     <wsse:Username>admin</wsse:Username>
     <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">admin333</wsse:Password>
   </wsse:UsernameToken>
  </wsse:Security>
 </soapenv:Header>
 <soapenv:Body>
   <ord:UpdateOrder>
   <ord:OrderId>10</ord:OrderId>
   <ord:View>demo_query</ord:View>
   <ord:ResponseView>demo_query</ord:ResponseView>
   <ord:OrderDataFilter>
      <ord:Condition>/subscriber_info/address[street='112 Update Drive']</ord:Condition>
   </ord:OrderDataFilter>
   <ord:UpdatedNodes>
    <_root>
     <subscriber_info>
      <address>
        <city>TO</city>
        <postal_code>A1A1A1</postal_code>
        <street>112 Update Drive</street>
      </address>
     </subscriber_info>
    </_root>
   </ord:UpdatedNodes>
  </ord:UpdateOrder>
 </soapenv:Body>
</soapenv:Envelope>

Example 2-20 UpdateOrderResponse with ResponseView and OrderDataFilter Applied

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
 <env:Header/>
  <env:Body>
   <UpdateOrderResponse xmlns="http://xmlns.oracle.com/communications/ordermanagement">
   <OrderId>10</OrderId>
   <State>open.running.in_progress</State>
   <Data>
    <osmc:_root index="0" xmlns:osmc="urn:oracle:names:ordermanagement:cartridge:bb_ocm_demo:1.0.0.0.0:view:demo_query">
      <osmc:subscriber_info index="1414771747926">
        <osmc:address index="1414771747949">
          <osmc:city index="1414771747950">TO</osmc:city>
          <osmc:postal_code index="1414771747951">A1A1A1</osmc:postal_code>
          <osmc:street index="1414771747952">112 Update Drive</osmc:street>
        </osmc:address>
        <osmc:primary_phone_number index="1414771747932">222122222</osmc:primary_phone_number>
        <osmc:name index="1414771747931">John Doe</osmc:name>
      </osmc:subscriber_info>
      <osmc:adsl_service_details index="1414771747933">
        <osmc:bandwidth index="1414771747934">3</osmc:bandwidth>
      </osmc:adsl_service_details>
    </osmc:_root>
  </UpdateOrderResponse>
   </Data>
 </env:Body>
</env:Envelope>

SuspendOrder Examples

This section provides a request example and a response example for the SuspendOrder operation.

Request Example

Example 2-21 SuspendOrderRequest

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
<soapenv:Body>
      <ws:SuspendOrder>
         <ws:OrderId>145</ws:OrderId>
         <!--Optional:-->
         <ws:Reason>test</ws:Reason>
<!--You have a CHOICE of the next 2 items at this level-->
         <!--Optional:-->
         <ws:GracePeriodExpiryDate>?</ws:GracePeriodExpiryDate>
         <!--Optional:-->
         <ws:GracePeriodExpiry>?</ws:GracePeriodExpiry>
         <!--Optional:-->
         <ws:EventInterval>?</ws:EventInterval>
</ws:SuspendOrder>
</soapenv:Body>
</soapenv:Envelope>

Response Example

Example 2-22 SuspendOrderResponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:SuspendOrderResponse xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
         <ws:OrderId>145</ws:OrderId>
      </ws:SuspendOrderResponse>
   </soapenv:Body>
</soapenv:Envelope>

ResumeOrder Examples

This section provides a request example and a response example for the ResumeOrder operation.

Request Example

Example 2-23 ResumeOrderRequest

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
<soapenv:Body>
      <ws:ResumeOrder>
         <ws:OrderId>1176</ws:OrderId>
      </ws:ResumeOrder>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

Example 2-24 ResumeOrderResponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:ResumeOrderResponse xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
         <ws:OrderId>1176</ws:OrderId>
      </ws:ResumeOrderResponse>
   </soapenv:Body>
</soapenv:Envelope>

CancelOrder Examples

This section provides a request example and a response example for the CancelOrder operation.

Request Example

Example 2-25 CancelOrderRequest

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
<soapenv:Body>
      <ws:CancelOrder>
         <ws:OrderId>1316</ws:OrderId>
         <!--Optional:-->
      </ws:CancelOrder>
   </soapenv:Body>
</soapenv:Envelope>

Response Example

Example 2-26 CancelOrderResponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:CancelOrderResponse xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
         <ws:OrderId>1316</ws:OrderId>
      </ws:CancelOrderResponse>
   </soapenv:Body>
</soapenv:Envelope>

RetryOrder and ResolveFailure Examples

This section provides a request example and a response example for the RetryOrder and ResolveFailure operation.

Note:

The structure of the RetryOrder and ResolveFailure operations are identical apart from the operation name itself.

Request Example Whole Order

Example 2-27 RetryOrderRequest

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
<soapenv:Body>
      <ws:RetryOrder>
         <ws:OrderId>18</ws:OrderId>
         <ws:Reason>1307</ord:Reason>
      </ws:RetryOrder>
   </soapenv:Body>
</soapenv:Envelope>

Response Example Whole Order

Example 2-28 RetryOrderResponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:RetryOrderResponse xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
         <ws:OrderId>18</ws:OrderId>
      </ws:RetryOrderResponse>
   </soapenv:Body>
</soapenv:Envelope>

Request Example Order Component

Example 2-29 ResolveFailureRequest

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:UsernameToken wsu:Id="UsernameToken-4799946" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>administrator</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">administrator</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
<soapenv:Body>
      <ws:ResolveFailure>
         <ws:OrderId>18</ws:OrderId>
         <ws:Reason>1307</ord:Reason>
         <ws:OrderComponent>
            <ws:OrderComponentId>
              	ADD_SUB_OPT.OrderProcessingSystemA.OrderProcessingDemoGranularity.1
            	</ws:OrderComponentId>
         </ws:OrderComponent>
      </ws:ResolveFailure>
   </soapenv:Body>
</soapenv:Envelope>

Response Example Order Component

Example 2-30 ResolveFailureResponse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:ResolveFailureResponse xmlns:ws="http://xmlns.oracle.com/communications/ordermanagement">
         <ws:OrderId>18</ws:OrderId>
      </ws:ResolveFailureResponse>
   </soapenv:Body>
</soapenv:Envelope>

GetOrderProcessHistory Examples

This section provides a request example and a response example for the GetOrderProcessHistory operation.

GetOrderProcessHistory Requests

Example 2-31 GetOrderProcessHistory Requests by CompensationID

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header/>
   <soapenv:Body>
      <ord:GetOrderProcessHistory>
         <OrderId>6</OrderId>
         <CompensationId>1</CompensationId>
      </ord:GetOrderProcessHistory>
   </soapenv:Body>
</soapenv:Envelope>

Example 2-32 GetOrderProcessHistory Requests by Perspective (Original)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header/>
   <soapenv:Body>
      <ord:GetOrderProcessHistory>
         <OrderId>6</OrderId>
         <Perspective>original</Perspective>
      </ord:GetOrderProcessHistory>
   </soapenv:Body>
</soapenv:Envelope>

Example 2-33 GetOrderProcessHistory Requests by Perspective (Latest)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header/>
   <soapenv:Body>
      <ord:GetOrderProcessHistory>
         <OrderId>6</OrderId>
         <Perspective>latest</Perspective>
      </ord:GetOrderProcessHistory>
   </soapenv:Body>
</soapenv:Envelope>

GetOrderProcessHistory Responses

Example 2-34 GetOrderProcessHistory Response by CompensationID

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <env:Header/>
   <env:Body>
      <ord:GetOrderProcessHistoryResponse xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
         <OrderId>6</OrderId>
         <Cartridge>
            <ord:Name>OsmCentralOMExample-Solution</ord:Name>
            <ord:Version>4.0.0.0.0</ord:Version>
         </Cartridge>
         <Compensation xsi:type="ord:AmendmentCompensationInfoType">
            <CompensationId>1</CompensationId>
            <CompensationType>amend</CompensationType>
            <Submitted>2015-06-02T08:24:29.975-07:00</Submitted>
            <Started>2015-06-02T08:24:31.000-07:00</Started>
            <AmendmentOrderId>7</AmendmentOrderId>
         </Compensation>
         <ProcessHistory>
            <Item xsi:type="ord:WorkItemType">
               <Id>2</Id>
               <TaskName>OsmCentralOMExampleOrder_OsmCentralOMExampleOrder</TaskName>
               <TaskType>creation</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:43.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT0.000S</ActualDuration>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>102</Id>
               <TaskName>SyncCustomerFunction_CustomerSystemSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:49.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT6.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1205</Id>
                     <TaskName>configureCustomerSystemTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:46.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:49.000-07:00</EndDate>
                     <User>omsadmin</User>
                     <ActualDuration>PT3.000S</ActualDuration>
                  </Item>
                  <Links/>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>202</Id>
               <TaskName>MarketingFunction_MarketingSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT3.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1105</Id>
                     <TaskName>configureMarketingTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:46.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:48.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>undo</ExecutionMode>
                        <CompensatorId>1810</CompensatorId>
                        <CompensatorState>completed</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT2.000S</ActualDuration>
                  </Item>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1409</Id>
                     <TaskName>MarketingBaseTask</TaskName>
                     <TaskType>manual</TaskType>
                     <StartDate>2015-06-02T08:23:48.000-07:00</StartDate>
                     <EndDate>2015-07-23T13:40:03.849-07:00</EndDate>
                     <User>omsadmin</User>
                     <ActualDuration>P51DT5H16M15.849S</ActualDuration>
                  </Item>
                  <Links>
                     <Link>
                        <Source>1105</Source>
                        <Target>1409</Target>
                     </Link>
                  </Links>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>302</Id>
               <TaskName>BillingFunction_BillingSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT3.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>904</Id>
                     <TaskName>configureBillingTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:45.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>redo</ExecutionMode>
                        <CompensatorId>2117</CompensatorId>
                        <CompensatorState>accepted</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT1.000S</ActualDuration>
                  </Item>
                  <Links/>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>402</Id>
               <TaskName>CollectionsFunction_CollectionsSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:24:04.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT21.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1305</Id>
                     <TaskName>configureCollectionsTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:46.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:24:04.000-07:00</EndDate>
                     <User>omsadmin</User>
                     <ActualDuration>PT18.000S</ActualDuration>
                  </Item>
                  <Links/>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>502</Id>
               <TaskName>ProvisioningFunction_ProvisioningSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:45.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT2.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>602</Id>
                     <TaskName>routeToProvisioningTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:43.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>redo</ExecutionMode>
                        <CompensatorId>1912</CompensatorId>
                        <CompensatorState>completed</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT0.000S</ActualDuration>
                  </Item>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>704</Id>
                     <TaskName>activationOrderAdslRegion2Task</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:45.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>redo</ExecutionMode>
                        <CompensatorId>2014</CompensatorId>
                        <CompensatorState>completed</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT2.000S</ActualDuration>
                  </Item>
                  <Links>
                     <Link>
                        <Source>602</Source>
                        <Target>704</Target>
                     </Link>
                  </Links>
               </Scope>
            </Item>
            <Links>
               <Link>
                  <Source>2</Source>
                  <Target>102</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>202</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>302</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>402</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>502</Target>
               </Link>
            </Links>
         </ProcessHistory>
      </ord:GetOrderProcessHistoryResponse>
   </env:Body>
</env:Envelope>

Example 2-35 GetOrderProcessHistory Response by Perspective (Original)

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <env:Header/>
   <env:Body>
      <ord:GetOrderProcessHistoryResponse xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
         <OrderId>6</OrderId>
         <Cartridge>
            <ord:Name>OsmCentralOMExample-Solution</ord:Name>
            <ord:Version>4.0.0.0.0</ord:Version>
         </Cartridge>
         <ProcessHistory>
            <Item xsi:type="ord:WorkItemType">
               <Id>2</Id>
               <TaskName>OsmCentralOMExampleOrder_OsmCentralOMExampleOrder</TaskName>
               <TaskType>creation</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:43.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT0.000S</ActualDuration>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>102</Id>
               <TaskName>SyncCustomerFunction_CustomerSystemSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:49.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT6.000S</ActualDuration>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>202</Id>
               <TaskName>MarketingFunction_MarketingSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT3.000S</ActualDuration>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>302</Id>
               <TaskName>BillingFunction_BillingSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT3.000S</ActualDuration>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>402</Id>
               <TaskName>CollectionsFunction_CollectionsSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:24:04.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT21.000S</ActualDuration>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>502</Id>
               <TaskName>ProvisioningFunction_ProvisioningSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:45.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT2.000S</ActualDuration>
            </Item>
            <Links>
               <Link>
                  <Source>2</Source>
                  <Target>102</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>202</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>302</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>402</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>502</Target>
               </Link>
            </Links>
         </ProcessHistory>
      </ord:GetOrderProcessHistoryResponse>
   </env:Body>
</env:Envelope>

Example 2-36 GetOrderProcessHistory Response by Perspective (Latest)

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <env:Header/>
   <env:Body>
      <ord:GetOrderProcessHistoryResponse xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
         <OrderId>6</OrderId>
         <Cartridge>
            <ord:Name>OsmCentralOMExample-Solution</ord:Name>
            <ord:Version>4.0.0.0.0</ord:Version>
         </Cartridge>
         <ProcessHistory>
            <Item xsi:type="ord:WorkItemType">
               <Id>2</Id>
               <TaskName>OsmCentralOMExampleOrder_OsmCentralOMExampleOrder</TaskName>
               <TaskType>creation</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:43.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT0.000S</ActualDuration>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>102</Id>
               <TaskName>SyncCustomerFunction_CustomerSystemSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:49.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT6.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1205</Id>
                     <TaskName>configureCustomerSystemTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:46.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:49.000-07:00</EndDate>
                     <User>omsadmin</User>
                     <ActualDuration>PT3.000S</ActualDuration>
                  </Item>
                  <Links/>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>202</Id>
               <TaskName>MarketingFunction_MarketingSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT3.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1105</Id>
                     <TaskName>configureMarketingTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:46.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:48.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>undo</ExecutionMode>
                        <CompensatorId>1810</CompensatorId>
                        <CompensatorState>completed</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT2.000S</ActualDuration>
                  </Item>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1409</Id>
                     <TaskName>MarketingBaseTask</TaskName>
                     <TaskType>manual</TaskType>
                     <StartDate>2015-06-02T08:23:48.000-07:00</StartDate>
                     <EndDate>2015-07-24T08:19:07.207-07:00</EndDate>
                     <User>omsadmin</User>
                     <ActualDuration>P51DT23H55M19.207S</ActualDuration>
                  </Item>
                  <Links>
                     <Link>
                        <Source>1105</Source>
                        <Target>1409</Target>
                     </Link>
                  </Links>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>302</Id>
               <TaskName>BillingFunction_BillingSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT3.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>904</Id>
                     <TaskName>configureBillingTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:45.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:46.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>redo</ExecutionMode>
                        <CompensatorId>2117</CompensatorId>
                        <CompensatorState>accepted</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT1.000S</ActualDuration>
                  </Item>
                  <Links/>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>402</Id>
               <TaskName>CollectionsFunction_CollectionsSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:24:04.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT21.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>1305</Id>
                     <TaskName>configureCollectionsTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:46.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:24:04.000-07:00</EndDate>
                     <User>omsadmin</User>
                     <ActualDuration>PT18.000S</ActualDuration>
                  </Item>
                  <Links/>
               </Scope>
            </Item>
            <Item xsi:type="ord:ContainerItemType">
               <Id>502</Id>
               <TaskName>ProvisioningFunction_ProvisioningSI</TaskName>
               <TaskType>subprocess</TaskType>
               <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
               <EndDate>2015-06-02T08:23:45.000-07:00</EndDate>
               <User>omsadmin</User>
               <ActualDuration>PT2.000S</ActualDuration>
               <Scope>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>602</Id>
                     <TaskName>routeToProvisioningTask</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:43.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>redo</ExecutionMode>
                        <CompensatorId>1912</CompensatorId>
                        <CompensatorState>completed</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT0.000S</ActualDuration>
                  </Item>
                  <Item xsi:type="ord:WorkItemType">
                     <Id>704</Id>
                     <TaskName>activationOrderAdslRegion2Task</TaskName>
                     <TaskType>automated</TaskType>
                     <StartDate>2015-06-02T08:23:43.000-07:00</StartDate>
                     <EndDate>2015-06-02T08:23:45.000-07:00</EndDate>
                     <CompensateeRole>
                        <ExecutionMode>redo</ExecutionMode>
                        <CompensatorId>2014</CompensatorId>
                        <CompensatorState>completed</CompensatorState>
                     </CompensateeRole>
                     <User>omsadmin</User>
                     <ActualDuration>PT2.000S</ActualDuration>
                  </Item>
                  <Links>
                     <Link>
                        <Source>602</Source>
                        <Target>704</Target>
                     </Link>
                  </Links>
               </Scope>
            </Item>
            <Links>
               <Link>
                  <Source>2</Source>
                  <Target>102</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>202</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>302</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>402</Target>
               </Link>
               <Link>
                  <Source>2</Source>
                  <Target>502</Target>
               </Link>
            </Links>
         </ProcessHistory>
      </ord:GetOrderProcessHistoryResponse>
   </env:Body>
</env:Envelope>

GetOrderCompensations Examples

This section provides a request example and a response example for the GetOrderCompensations operation.

Example 2-37 GetOrderCompensations

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header/>
   <soapenv:Body>
      <ord:GetOrderCompensations>
         <OrderId>6</OrderId>
      </ord:GetOrderCompensations>
   </soapenv:Body>
</soapenv:Envelope>

Example 2-38 GetOrderCompensationsResponse

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <env:Header/>
   <env:Body>
      <ord:GetOrderCompensationsResponse xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
         <OrderId>6</OrderId>
         <Compensation xsi:type="ord:AmendmentCompensationInfoType">
            <CompensationId>1</CompensationId>
            <CompensationType>amend</CompensationType>
            <Submitted>2015-06-02T08:24:29.975-07:00</Submitted>
            <Started>2015-06-02T08:24:31.000-07:00</Started>
            <AmendmentOrderId>7</AmendmentOrderId>
         </Compensation>
      </ord:GetOrderCompensationsResponse>
   </env:Body>
</env:Envelope>

GetCompensationPlan Examples

This section provides a request example and a response example for the GetOrderCompensations operation.

Example 2-39 GetOrderCompensationPlan

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
   <soapenv:Header/>
   <soapenv:Body>
      <ord:GetCompensationPlan>
         <OrderId>6</OrderId>
      </ord:GetCompensationPlan>
   </soapenv:Body>
</soapenv:Envelope>

Example 2-40 GetOrderCompensationPlanResponse

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
   <env:Header/>
   <env:Body>
      <ord:GetCompensationPlanResponse xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
         <OrderId>6</OrderId>
         <CompensationId>1</CompensationId>
         <CompensationType>amend</CompensationType>
         <ActiveItem>
            <TaskName>SyncCustomerFunction_CustomerSystemSI</TaskName>
            <ExecutionMode>redo</ExecutionMode>
            <CompenationWorkItem>self</CompenationWorkItem>
            <FlowItemId>102</FlowItemId>
         </ActiveItem>
         <ActiveItem>
            <TaskName>CollectionsFunction_CollectionsSI</TaskName>
            <ExecutionMode>redo</ExecutionMode>
            <CompenationWorkItem>self</CompenationWorkItem>
            <FlowItemId>402</FlowItemId>
         </ActiveItem>
         <ActiveItem>
            <TaskName>configureBillingTask</TaskName>
            <ExecutionMode>redo</ExecutionMode>
            <CompenationWorkItem>self</CompenationWorkItem>
            <FlowItemId>1005</FlowItemId>
         </ActiveItem>
         <PendingItem>
            <TaskName>cdiTask</TaskName>
            <ExecutionMode>redo</ExecutionMode>
            <CompenationWorkItem>self</CompenationWorkItem>
            <FlowItemId>1508</FlowItemId>
            <WaitsFor>
               <TaskName>SyncCustomerFunction_CustomerSystemSI</TaskName>
               <ExecutionMode>redo</ExecutionMode>
               <PositionedInFlow>before</PositionedInFlow>
               <CompenationWorkItem>self</CompenationWorkItem>
               <FlowItemId>1509</FlowItemId>
            </WaitsFor>
         </PendingItem>
         <PendingItem>
            <TaskName>Configure Collections Task</TaskName>
            <ExecutionMode>redo</ExecutionMode>
            <CompenationWorkItem>self</CompenationWorkItem>
            <FlowItemId>1608</FlowItemId>
            <WaitsFor>
               <TaskName>CollectionsFunction_CollectionsSI</TaskName>
               <ExecutionMode>redo</ExecutionMode>
               <PositionedInFlow>before</PositionedInFlow>
               <CompenationWorkItem>self</CompenationWorkItem>
               <FlowItemId>1609</FlowItemId>
            </WaitsFor>
         </PendingItem>
      </ord:GetCompensationPlanResponse>
   </env:Body>
</env:Envelope>