I am using cxf component to proxy one webservce to another. The route's logical is very simple: receiving the soap-xml, transform the soap xml element(if the wsdls of two webservice are not exactly same), then send the transformed xml to another webservice;
But unfortunately in camel, this is not so simple. Camel-CXF Producer always ask for setting the operation-name (sometimes, producer will use the operation name from camel-cxf consumer), this is un-necessary trivial details for the user to deal with QName of wsdl operation; Actually, I think the PayLoad model of Camel-Cxf, provide the mechanism for user to deal with soap protocol; Because Web Service Specification has define the mechanism about how to match soap-message with WSDL operation, so the wsdl operation name should be handled by the SOAP Engine(CXF), not be handled by the user; That's to say: camel-cxf should rely on the CXF engine to match the soap message. So when the user can give the correct xml data, the camel-cxf producer could send it to web-service; While I am not sure if this opinion is suitable for camel, but it truly simplified the usage of pay-load model for web service proxy usage.