有一个由年轻的杨优秀的文章,介绍了如何使用的wsimport创建具有异步Web服务调用Web服务客户端工件.异步要求WSDL具有标记
<enableAsyncMapping>true</enableAsyncMapping>
在其绑定部分.如果您使用自下而上的方法和JAX-WS带注释的Java类,则无法直接在WSDL中执行此操作,因为WSDL是Web服务器上生成的工件.相反,当在WSDL上执行wsimport时,您使用Ant或Maven等构建工具来包含此绑定.
生成的客户端工件具有返回a的异步方法调用
Future<?>
Run Code Online (Sandbox Code Playgroud)
或者a
Response
Run Code Online (Sandbox Code Playgroud)
这是一个未来.
阅读杨的文章后我的问题是为什么不只是使用Executors和Futures滚动我自己的异步Web服务调用.wsimport创建的工件是否提供了一些我无法通过自己的方法看到的优势?
如果有人对这两种方法都有经验或见解,我将非常感谢您的反馈.