com.ibm.commerce.messaging.commands

Class OrderStatusServiceCmdImpl

  • All Implemented Interfaces:
    AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, OrderStatusCmd, OrderStatusServiceCmd, Protectable, com.ibm.websphere.cache.Sizeable, com.ibm.websphere.command.CacheableCommand, com.ibm.websphere.command.Command, com.ibm.websphere.command.CommandCaller, com.ibm.websphere.command.TargetableCommand, java.io.Serializable


    public class OrderStatusServiceCmdImpl
    extends OrderStatusCmdImpl
    implements OrderStatusServiceCmd
    This implementation of OrderStatusService is invoked by sending a SOAP XML message as specified by the corresponding WSDL definition. This class wraps the OrderStatusCommand implementation and allows an external system to update the information regarding the status of an existing order.

    OrderStatusService differs from the OrderStatus command as this command will return a view command name after the successful update of the order status. The OrderStatus command will not return any view name, but invokes the messaging subsystem to send a response back to the client.

    Parameters

    This command accepts the same set of parameters as the parent command OrderStatusCmdImpl. See the online help for OrderStatusCmdImpl for a description of the parameters.

    Behavior

    • The first order status for an order must have orderId and merchantOrderNumber specified.
    • Check if the order specified in orderId exists in the ORDERS table.
    • If serialization information is available (sequenceNumber, lastUpdateTimestamp parameters, or others) check if the values are more recent than the existing values in the ORDSTAT table. If not, no update will be performed.
    • Create or update a row in the table ORDSTAT using all the provided information.
    • If versioning is enabled and this is the first order status for the order, a new row will be created in ORDSTAT table. Otherwise a copy of the last order status will be made and its version (OSVERNBR) will be set to the maximum number of existing versions +1. A new row will be created containing all provided information with its OSVERNBR
      value set to 0.
    • Update the value in the STATUS column of table ORDERS to 'G'.

    Exception Conditions

    • The orderId specified is not a valid order number in the ORDERS table.
    • Either the orderId or merchantOrderNumber is not specified in the first order status for a particular order.
    • The orderId and merchantOrderNumber do not match one already in ORDSTAT table for a particular order in a subsequent order status update.
    • Serialization information is provided and the order status message is out of sequence.
    See Also:
    Serialized Form
    • Field Detail

      • COPYRIGHT

        public static final java.lang.String COPYRIGHT
        The internal copyright field.
        See Also:
        Constant Field Values
    • Constructor Detail

      • OrderStatusServiceCmdImpl

        public OrderStatusServiceCmdImpl()
        The default constructor for OrderStatusServiceCmdImpl calls its parents constructor.
    • Method Detail

      • performExecute

        public void performExecute()
                            throws ECException
        The business logic of this command.

        It invokes the performExecute() of the parent OrderStatus command and then return the unique identifier for the new OrderStatus created. Also returns a view name so that a synchronous response message is sent to the client.

        Specified by:
        performExecute in interface ECCommand
        Specified by:
        performExecute in interface com.ibm.websphere.command.TargetableCommand
        Overrides:
        performExecute in class OrderStatusCmdImpl
        Throws:
        ECException - if the OrderStatus information cannot be updated.