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.
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>







