Hi Thomas,
as far as I can judge you are facing 2 different issues.
- Your ‘Process’ service is actually called but you cannot access the event data for some reason
- Using “Validate Input” shows an error about a missing field
Please see my comments
ad (2)
The fields defined in the PartInventoryLow type are not optional. An event instance is not valid according to this schema in the case where at least one field is not present. Because of this I suspect that the ‘Emit’ service publishes an event where at least one field value is missing. You can proove this assumption by using the createOptions paramater at pub.event.routing:send service. Use VALIDATE_BODY option in order to validate the event already on emit.
ad (1)
The ‘Process’ service is called with the event which consists of the event header and body. The event is given as XML strinfg. Because of this you need to firstly convert the string into XML document and secondly convert the XML document into an IS document. This is done by using pub.xml:xmlStringToXMLNode and pub.xml:xmlNodeToDocument.
Please find attached a demo IS package based on the PartInventoryLow event type. It basically does what you want to achieve. It consists of a a service to process PartInventoryLow events and a svc to publish such events. Additonally it contains a svc to subscribe the ‘Process’ svc. This should work out of the box.
Cheers,
Martin
DemoEventRouting.zip (14.5 KB)
#webMethods-General#webMethods#webMethods-BPMS#Integration-Server-and-ESB#BPM