Question & Answer
Question
What will be the order of service invocations and the state of corresponding input xmls when three services viz. serviceA, serviceB and serviceC are called as a part of ON_CANCEL event of scheduleOrder transaction in IBM Sterling Order Management?
Cause
You want to change the state of input xml if certain validation fails within one service (say serviceA) without affecting the input to other services
Answer
When multiple services are configured as a part of ON_CANCEL event of scheduleOrder or any other transaction, all such services will be fed with a single input document object. All these services will be invoked simultaneously and the order of invocation cannot be guaranteed. However, if the state of document object is changed such that the change has been performed directly on the document object or on a copied reference of that object, the change would reflect across all other services. Since the order of execution of services is not guaranteed, the other services may or may not have executed until then, and hence the changed xml may or maynot be available for consumption.
To avoid this, if some sort of transformation is done on the input object first, and changes are made on this transformed object instead of original reference, then such changes will be limited to the local service and will not be available to other services, which will still with the original copy of input document object.
Product Synonym
Sterling OMS;SSFS;Sterling Order Management;Sterling Selling and Fulfillment Suite
Was this topic helpful?
Document Information
Modified date:
10 May 2022
UID
swg21986207