动态生成Web服务(动态) - 如何?

时间:2010-02-10 11:27:16

标签: java java-ee web-services code-generation

这是一个场景:

我有一个webservice,让我们在tomcat(axis)上调用这个StockQuoteService。 有这个方法getStockQuote()通过这个webservice公开。

现在,我想构建一个GUI工具,它可以动态构建一个名为StockQuoteServiceEx的Web服务。新的Web服务将公开与StockQuoteService相同的方法。但是,当在StockQuoteServiceEx上调用getStockQuote()时,此方法就像一个webservices客户端,从而在StockQuoteService上调用getStockQuote(),从中获取结果。这样做的目的是操纵(数据屏蔽/混洗/加密)原始结果。

生成Web服务后,现有客户端会将端点从StockQuoteService更新为StockQuoteServiceEx。那么,这里的问题是,动态生成Web服务的步骤是什么?

1 个答案:

答案 0 :(得分:1)

由于您愿意公开相同的Web服务接口/操作:让GUI工具充当HTTP代理并将该工具放在客户端和实际的Web服务之间会不会更容易?像:

客户==> GUI工具(http代理)==>的StockQuoteService。

这样,客户端是针对实际StockQuoteService的WSDL构建的,但是使用GUI工具的端点地址。您可以在GUI工具中将HTTP代理实现为一个简单的Servlet,它使用Apache HTTPClient将请求(在操作之后)分派给实际的Web服务。