这是一个场景:
我有一个webservice,让我们在tomcat(axis)上调用这个StockQuoteService。 有这个方法getStockQuote()通过这个webservice公开。
现在,我想构建一个GUI工具,它可以动态构建一个名为StockQuoteServiceEx的Web服务。新的Web服务将公开与StockQuoteService相同的方法。但是,当在StockQuoteServiceEx上调用getStockQuote()时,此方法就像一个webservices客户端,从而在StockQuoteService上调用getStockQuote(),从中获取结果。这样做的目的是操纵(数据屏蔽/混洗/加密)原始结果。
生成Web服务后,现有客户端会将端点从StockQuoteService更新为StockQuoteServiceEx。那么,这里的问题是,动态生成Web服务的步骤是什么?
答案 0 :(得分:1)
由于您愿意公开相同的Web服务接口/操作:让GUI工具充当HTTP代理并将该工具放在客户端和实际的Web服务之间会不会更容易?像:
客户==> GUI工具(http代理)==>的StockQuoteService。
这样,客户端是针对实际StockQuoteService的WSDL构建的,但是使用GUI工具的端点地址。您可以在GUI工具中将HTTP代理实现为一个简单的Servlet,它使用Apache HTTPClient将请求(在操作之后)分派给实际的Web服务。