36.3. Sort Messages by Operation Name
The operationName header
When the WS endpoint parses an incoming operation invocation in PAYLOAD mode, it automatically sets the
operationName
header to the name of the invoked operation. You can then use this header to sort messages by operation name.
Sorting by operation name
For example, the
customer-ws-camel-cxf-payload
demonstration defines the following route, which uses the content-based router pattern to sort incoming messages, based on the operation name. The when
predicates check the value of the operationName
header using simple language expressions, sorting messages into invocations on the updateCustomer
operation, the lookupCustomer
operation, or the getCustomerStatus
operation.
<beans ...> ... <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="cxf:bean:customer-ws?dataFormat=PAYLOAD"/> <choice> <when> <simple>${in.header.operationName} == 'updateCustomer'</simple> ... </when> <when> <simple>${in.header.operationName} == 'lookupCustomer'</simple> ... </when> <when> <simple>${in.header.operationName} == 'getCustomerStatus'</simple> ... </when> </choice> </route> </camelContext> </beans>