Service Activation XML schema. The OrderKey uniquely identifies an order. This is a representation of a OrderKey array. The following is an XML representation of an order An order is a request to perform an operation. Typical operations are Activate, Deactivate etc. OrderValue is the base type of an order. The intent of OrderValue is to be derived by a more specific type such Activate. This is acheived by declaring OrderValue abstract, meaning OrderValue can not be used directly in instance documents, but only derivd types of OrderValue can be used in instance documents. The base OrderValue contains the elements state (contains the current state of the order which must be one of OrderState), orderKey (uniquely identifies an order), serviceValue (indicates a busineiness service to be sold to a customer), clientId (Client id of the customer), priority (Priority of the order, must be one of OrderPriority), and a miscellanous description field. This is a representation of a OrderValue array. See: JVTActivationSession for the meanings of these priority values. The getSupportedOptionalAttributesRequest is used to return a list of the implemented optional attributes. The getSupportedOptionalAttributesResponse will return a list of implemented optional attributes. The getSupportedOptionalAttributesException is returned if an exception occured during the request. The only exception that is thrown is a RemoteException. The ServiceKey uniquely identifies a service. The following is an XML representation of a service. An service is something of business value that can be associated to a subscriber. Typical are DSL, 3G etc. ServiceValue is the base type of a service. The intent of ServiceValue is to be derived by a more specific type such DSL. This is acheived by declaring ServiceValue abstract, meaning ServiceValue can not be used directly in instance documents, but only derivd types of ServiceValue can be used in instance documents. The base ServiceValue contains the elements ServiciceState (contains the current state of the order which must be one of ServiceStateType), serviceKey (uniquely identifies an service) This is a representation of a ServiceValue array. Base Content of Attribute Value Change Event Base Content of Create Event Type Base Content of Remove Event Type Base Content of State Change Event Type An Event that is sent in the case in which some value of the order has changed. The event is thrown in the case of 1) setOrder(s).Request has been called and changed the value of an order 2) Some values of the order have been changed during the execution of an order by implementation. This event is not published if the state of the order has changed, that occurrence is handled by the OrderStateChangeEvent. An Event that is published in the case where a new order is created. The event is thrown when createOrder(s).Request has been called. An Event that is published in the case where an order has been removed. The event is thrown when 1) removeOrder(s).Request has been called. 2) Implementation may also throw this exception if it supports an automatic cleanup functionality to remove, for example, all completed orders. An Event that is published in the case where the state of an order has changed. The event is thrown when 1) One of the Suspend/Resume/Start/Abort operations are called 2) While executing the order, the state of the order has been changed by the implementation The getOrderTypesRequest is used to return a string list of available OrderTypes. Each one of the strings in the list can be passed as an agrument to makeOrderValue(factory) to create a corresponding OrderValue instance. The getOrderTypesResponse will return a list of available OrderTypes. The getOrderTypesException is returned if an execption occurred. The getServiceTypesRequest is used to return a string list of available Service Types. Each one of the Service Types returned can then be passed as an argument to makeServiceValue(factory) to create a corresponding ServiceValue. The getServiceTypesResponse will contain the list of available Service Types. The getServiceTypesException is returned if an exception occurred. This request will return a new Order Value for usage in a client. The type of Order Value returned is based on the orderType attribute populatd in this request. This request does not create a "real" order. It only supples to the client an empty OrderValue (i.e not populated with data). The client would then make a createOrder.Request with that OrderValue populated with appropriate values. This returns the empty OrderValue This is returned if an exception occurrs. This request will return a new Service Value for usage in a client. The type of Service Value returned is based on the serviceType attribute populatd in this request. This request does not create a "real" service. It only supples to the client an empty ServiceValue (i.e not populated with data). The client would then add this ServiceValue (populated with data) to an OrderValue and make a CreateOrderRequest. This returns the empty ServiceValue This is returned if an exception occurs. Creates a new order object in the system and returns the key for the new object. A single OrderValue is the only value passed into the request. The state values in OrderValue are ignored, the state is initialized to STARTED by the system. This returns the OrderKey corresponding to the order which was created in the system This is returned if an exception occurs. This request puts the order into a RUNNING state. Only the message header is returned. This is sufficient to indicate that the order was started. The following exceptions are returned if an error occurs. The following request put the order from a RUNNING state into a SUSPENDED state. Only the message header is returned. This is sufficient to indicate that the order has been suspended. The following exceptions are returned if an error occurs. This request puts the order from a state SUSPENDED back into a RUNNING state. Only the message header is returned. This is sufficient to indicate that the order has been resumed. The following exceptions are returned if an error occurs. The following request aborts the order and puts the state to ABORTED. Only the message header is returned. This is sufficient to indicate that the order has been aborted. The following exceptions are returned if an error occurs. The following request will terminate the lifetime or an order. This request indicates that the client(s) does not need the referenced order anymore. The implementation can also remove orders automatically, example batch cleanup of completed orders. If the order is removed successfully then a OrderRemoveEvent is published. Exceptions are returned if for example the Order does not exist or if the order is not in an appropriate state (i.e. RUNNING state). If the order is not in an appropriate state then the user would have to abort the order and then call removeOrder. Only the message header is returned. This is sufficient to indicate that the order was removed. The following exceptions are returned if an error occurs. Returns values for the order identified by the (unique) key. The value object returned will always have a type that is derived from OrderValue(polymorphism). The attributeName list indicates which attributes are to be returned. If the AttributeName is null then all possible attributes are returned. The value for the order is returned. The following exceptions are returned if an error occurs. This is the plural version of GetOrder. It takes in a list of order keys. A list of order values is returned. The following exceptions are returned if an error occurs. This is an associative lookup which will return values for the order, identified by the OrderValue template. The value object returned will always have a type that is derived from OrderValue(polymorphism). The AttributeName list indicates which attributes are to be returned. If the attributeName is null then all possible attributes are returned. The howMany element (from IteratorRequest) is used to restrict the returning result set. If the result set exceeds the "howMany" value than consequent response messages are returned. The result set is a list (the amount in the list is determined by the howMany element in the IteratorRequest type) of orderValues. The EndOfReply (from IteratorResponse)indicates whether there are any more result sets being returned. The Sequence number (from IteratorResponse) indicates the result set order, since there can be a number of response messages generated and there is no mechanism to insure the responses are sent sequentially, there needs to be a method of preserving the order of the response messages. The following exceptions are returned if an error occurs. This request is used to change the attributes of an Order. Only the attributes which are populated are changed. The state and key attributes are ignored. Only the message header is returned. This is sufficient to indicate that the order was changed. The following exceptions are returned if an error occurs. The following request runs a (complex) query and returns the matching orders. The howMany (from IteratorRequest) element is used to restrict the returning result set. If the result set exceeds the "howMany" value than consequent response messages are returned. The result set is a list (the amount in the list is determined by the howMany element from the QueryOrdersRequest) of OrderValues. The EndOfReply (from IteratorResponse) indicates whether there are any more result sets being returned. The Sequence number (from IteratorResponse) indicates the result set order i.e. since there can be a number of response messages generated and there is no mechanism to insure the responses are sent sequentially, there needs to be a method of ordering the response messages that are returned. The following exceptions are returned if an error occurs.