如何使用驼峰代理Web服务?

时间:2012-03-10 06:06:45

标签: web-services cxf apache-camel

我有一个使用spring,cxf和jax ws实现的web服务。我的服务公开了10个操作,一些操作返回了200多个字段。现在我想使用camel代理我的Web服务。意味着我想为不同的客户提供不同的WSDL,只需要所需的操作和必填字段。我们的一个客户想要10个操作的特定操作,只有一些200个字段的字段从该Web服务的操作中暴露出来。我怎么能通过骆驼来实现这个目标?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

根据您部署Camel实例的方式,CXF可能有利有弊。

如果您将骆驼捆绑在支持Spring的Web应用程序中,那么您可能还想查看Camel中的Spring-WS。它比CXF重量轻一点,但有点受限。它可以满足您的需求。 http://camel.apache.org/spring-web-services.html

Spring-WS并不真正绑定到特定的WSDL,而是特定的操作。 像这样:

从( “弹簧-WS:rootqname:{http://example.com/}的getFoo endpointMapping =#endpointMapping”).bean(prepareProxy) 。要( “弹簧-WS:HTTP://foo.com/bar”).bean(prepareAnswer);

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