ebXML Module 7.1 SP1 | Understanding and Using webMethods EBXML Module | Installing and Using ebxml Module | Working with ebXML Messages | Receiving ebXML Messages
 
Receiving ebXML Messages
 
ebXML Module Receive Service
The wm.ip.ebxml.MSH:receive service is the entry point for all inbound ebXML messages. The following figure shows the data flow in the receive service.
Data Flow for an Inbound ebXML Message
The receive service first unpacks the incoming MIME message into two or more parts: the ebXML envelope and the payload(s). If the incoming message is a SOAP message, the receive service translates it into an ebXML envelope. The service accepts the message if it can extract the sender, receiver, and message ID from the envelope. Otherwise, it generates a SOAP Fault that it returns it to the sender, according to the SOAP specifications.
The service then validates the ebXML envelope against the envelope schema specified in the ebXML Message Service Version 1.0 Specification and the ebXML Message Service Version 2.0 Specification.
The receive service then checks the ebXML envelope for a message type and retains the message type as User Status in the Trading Networks. The ebXML Module provides TN document types that will trigger a different processing rule. The ebXML Module checks for all duplicate or routing messages and processes them accordingly. For more information about TN document types and processing rules, see Working with CPAs, TN Document Types, and Processing Rules.
If there is a need to process the payload(s), the service unpacks the payload(s) and invokes the services specified in the ebXML message.
The receive service then forwards the message to webMethods Trading Networks, which recognizes the incoming document using one of the TN document types that the ebXML Module provides. For example, if the message type is a Payload, that is, the message carries payload(s), Trading Networks recognizes it as an ebXML Payload TN document type.
Depending on the message type, Trading Networks invokes the corresponding processing rule. For more information about processing rules, see Defining Processing Rules.
For messages of the type Payload, Receipt, and Error, the TN document types indicates that Trading Networks is to extract a conversationId. As a result, after Trading Networks performs the actions in a processing rule, it passes the document to the Process Engine so the Process Engine can attempt to process the message as part of a business process. As stated in the earlier section about processing rules, you can customize these three processing rules to meet your requirements.
The ebXML Module then generates a synchronous/asynchronous response for the message. For example, if the inbound message is a ping message, it generates a pong message and delivers the pong message to the sender.