Web services 如何使用camel代理web服务?

Web services 如何使用camel代理web服务?,web-services,cxf,apache-camel,Web Services,Cxf,Apache Camel,我有一个使用spring、cxf和jax ws实现的web服务。我的服务公开10个操作,有些操作返回200多个字段。现在我想使用camel代理我的web服务。意味着我想为不同的客户机提供不同的wsdl,只提供必需的操作和必需的字段。我们的一个客户机需要10个操作的特定操作,其中只有200个字段中的一些字段是从该web服务的操作中暴露出来的。如何通过camel实现这一点?请参见根据部署camel实例的方式,CXF可能有其优缺点 如果您将camel绑定到支持spring的web应用程序中,那么您可能

我有一个使用spring、cxf和jax ws实现的web服务。我的服务公开10个操作,有些操作返回200多个字段。现在我想使用camel代理我的web服务。意味着我想为不同的客户机提供不同的wsdl,只提供必需的操作和必需的字段。我们的一个客户机需要10个操作的特定操作,其中只有200个字段中的一些字段是从该web服务的操作中暴露出来的。如何通过camel实现这一点?

请参见

根据部署camel实例的方式,CXF可能有其优缺点

如果您将camel绑定到支持spring的web应用程序中,那么您可能还想在camel中查看springws。它比CXF轻一点,但有点有限。它可以,虽然适合你的需要

SpringWS实际上并没有绑定到特定的WSDL,而是绑定到特定的操作。 像这样:

from(“spring-ws:rootqname:{http://example.com/}GetFoo?endpointMapping=#endpointMapping“).bean(prepareProxy) .to(“spring ws:http://foo.com/bar大豆(制备大豆)


根据您需要的答案转换的复杂程度,您可以使用Java或XSLT或其他脚本语言来完成转换。这是品味的问题

谢谢你的回复。我尝试了ApacheCamel提供的camel代理示例,并能够运行它。我正在将camel作为已定义camel上下文的捆绑包安装。但我尝试使用进程并尝试从exchange对象获取响应时失败。感谢您的响应。我尝试了ApacheCamel提供的camel代理示例,并能够运行它。我将camel作为一个包安装,并定义了camel上下文。但当我尝试使用进程并尝试从exchange对象获取响应时,我失败了。在Camel上下文中,我从中定义为cxf:在同一上下文文件中创建的端点,并将“to”定义为先前存在的服务。在“to”之后,我有另一个“to”,它指的是正在实现流程接口的流程bean。我无法返回响应,当我尝试调试和查看exchange对象时,我看不到任何响应的痕迹。