I would like to insert in a BPEL flow a sort of event listener that waits for a message. I thought about implementing this with the "receive / message" component, but I didn't understand how it should be configured to intercept one and only one message, that is precisely related to the current instance of the flow.
I defined a variable CorrelationId to store an unique identifier; next, on the component "receive message" I defined a correlation set, but I didn't understand how to pass the correlationID to it
Not sure how this composite gets called, but you could receive the message(s) in one composite and either put them in a JMS queue with a second composite that dequeues and processes, or you could put the messages into a table and have the second composite poll the table using the database adapter, setting maxTransactionSize=1.