The process logic for this collaboration template’s Create verb.
- The communication process begins when the iSoft Peer-to-Peer Agent, TPI
server, or WebSphere® Business Integration Connect receives the UCCnet
worklist. It decrypts the message, writes it to a directory, and notifies
the specific AS2 channel connector with the data necessary to retrieve the
document.
- The AS2 channel connector starts the flow through a UCCnetMessageReceive
collaboration object by instantiating the IBM® WebSphere Business Integration Data Handler
for XML with the received UCCnet message, which contains the UCCnet worklist.
- The IBM WebSphere Business
Integration Data Handler for XML creates a business object of the form UCCnetxxx_envelope
(if iSoft connectivity is used), UCCnetTPIxxx_envelope (if TPI connectivity
is used), or UCCnetJMSxxx_envelope (if WebSphere Business Integration Connect is
used with JMS). This business object contains the entire UCCnet message, including
each individual data instance and the commands related to it.
Note: In this
and the following steps, the variable xxx specifies the XML definition
type used (DTD or XSD).
- The business object is converted to a UCCnetGBO_envelope business object
by passing through an input map of the form UCCnetxxx_envelope_to_UCCnetGBO_envelope
(if iSoft connectivity is used), UCCnetTPIxxx_envelope_to_UCCnetGBO_envelope
(if TPI connectivity is used), or UCCnetJMSxxx_envelope_to_UCCnetGBO_envelope
(if WebSphere Business
Integration Connect is used with JMS). The DTD forms of these maps convert
incoming ASBOs containing DTD-based publication information notifications
into UCCnetGBO_envelope GBOs containing XSD-based Catalogue Item Notifications
for ongoing processing by the solution.
The XSD-based Catalogue Item Notifications,
Price, and PriceBracket responses are not converted.
The AS2 channel
connector checks for subscriptions to the UCCnetGBO_envelope business object
by collaboration objects. Collaboration objects based on the UCCnetMessageReceive
collaboration template subscribe to it. Therefore, a UCCnetMessageReceive
collaboration object is passed the business object through its FromAS2 port.
- The UCCnetMessageReceive collaboration object iterates through the UCCnetGBO_envelope
business object, multiple times, separating each instance of a Catalogue Item
Notification, Price, or PriceBracket response. It allows UDEX category codes
as received by UCCnet to be changed to internal category codes through the
configuration property CATEGORYMAP_FILE. See Mapping category codes (Catalogue Item Notifications).
- For a Catalogue Item Notification with a NEW_ITEM, DATA_CHANGE, WITHDRAW,
or DE_LIST command, the UCCnetMessageReceive collaboration object persists
the UCCnetGBO_envelope business object to a local identifier store by first
converting it to a UCCnetGBO_identifier business object and then sending the
object to its ToIdentifier_Store port. See Persisting items to a local identifier store (Catalog Item Notifications).
Before sending the business object to the ToIdentifier_Store
port, the collaboration object can configure the FILTER_DUPLICATE property to ensure that a duplicate item does not already
exist. See Filtering to eliminate processing duplicate items.
- The UCCnetMessageReceive collaboration object persists the UCCnetGBO_envelope
business object to a local message store for use in a return message by first
converting it to a UCCnetGBO_storable business object and then passing it
to its ToMessage_Store port. Ssee Persisting items to a local message store.
- The UCCnetMessageReceive collaboration object examines the UCCnetGBO_envelope
business object for Catalogue Item Notifications to detect that it contains
attributes required by UCCnet, that it came from an approved set of supply-side
trading partners, that it belongs to an approved set of item categories, and
that it passes a set of complex filters that are based on the interaction
of multiple attributes. See Filtering publication requests (Catalogue Item Notifications) for more information about filtering business objects.
Based on this analysis, the collaboration object handles processing, as follows:
- If the UCCnetMessageReceive collaboration object detects that certain
attributes required by UCCnet are missing, that the item is from a vendor
or in a category not accepted by the demand-side trading partner, or that
it did not pass the set of complex filters, it creates a Retail_Item business
object by passing the UCCnetGBO_envelope business object containing the individual
Catalogue Item Notification command and its data through the map specified
in the TORETAIL_RESPONSE_MAP property. It then handles the resulting business object
according to the value specified in the FILTER_FAIL_RESPONSE configuration property. Any status specified in the
FILTER_FAIL_RESPONSE property is attached regardless of what the original
message type was in the UCCnetGBO_envelope business object. The collaboration
object then sends this Retail_Item business object through its ToRetail_Response
port to a UCCnetMessageSend collaboration object for transmittal to UCCnet.
- If the UCCnetMessageReceive collaboration object detects that all required
information is complete, that the item is from a vendor and it is in a category
accepted by the demand-side trading partner, and that the complex filter requirements
were met, it creates a Retail_Item business object by passing the UCCnetGBO_envelope
business object containing the individual Catalogue Item Notification and
its data through the map specified in the TORETAIL_PROCESSING_MAP property. It then sets the status of the resulting
item to Review, and sets the command type according to the original message
type received from UCCnet.
If configured to do so via collaboration properties,
the collaboration builds a Retail_Audit business object from any optional
audit information included in the triggering business object and other audit
information specific to the collaboration instance and the Retail_Item being
processed and sends the Retail_Audit object to the Audit port. The audit data,
including any changes made by the external audit process, will be appended
to the the Retail_Item.
It sends this Retail_Item business object through
its ToRetail_Processing port to a collaboration object or connector that provides
continued processing of the business object.
- For a Price or PriceBracket response, the UCCnetMessageReceive collaboration
object creates a Retail_Price business object by passing the UCCnetGBO_envelope
business object containing the individual Price or PriceBracket response and
its data through the map specified in the TOPRICE_PROCESSING_MAP property. It then sets the command type according to
the original message type received from UCCnet.
If configured to do so
via collaboration properties, the collaboration builds a Retail_Audit business
object from any optional audit information included in the triggering business
object and other audit information specific to the collaboration instance
and the Retail_Price being processed and sends the Retail_Audit object to
the Audit port. The audit data, including any changes made by the external
audit process, will be appended to the Retail_Price.
It sends this
Retail_Price business object through its ToPrice_Processing port to a user
defined collaboration object or connector that provides continued processing
of the business object.
If exceptions are encountered during processing, and if configured via
a collaboration property to do so, the UCCnetMessageReceive collaboration
object creates a Retail_Error business object containing information describing
the exception and sends it to the Error port.
The UCCnetMessageReceive collaboration object waits for a return from the
processing collaboration object or connector before sending the next item.