我曾在一些经验丰富的项目下工作,我看到他们通过在java中编写代码来调用Web服务,该代码使用XML格式的SOAP封装进行HTTP连接和发送数据。我一直在使用同样的东西。现在我在youtube上观看了一个教程,其中教练使用wsimport
命令从wsdl
url生成java类,并将这些类复制到项目,初始化的服务对象中,并调用适当的方法与Web服务进行通信。现在我感到困惑,意味着我认为使用java类访问Web服务比soap信封容易。所以我在谷歌上搜索但没有得到任何正确的答案。请解释一下哪种方式更好,为什么?
答案 0 :(得分:2)
wsimport工具生成JAX-WS可移植工件,例如:
服务端点接口(SEI)
服务
从wsdl:fault(如果有)
异步响应Bean派生自响应wsdl:message(如果有)
JAXB生成的值类型(从模式类型映射的java类)
所以,这个工具几乎可以为你生成一切,让我们的生活更轻松。
如果我们必须自己生成它,我们必须:
*将对象序列化为XML
*通过HTTP操作调用Web方法
*将返回的XML响应解析回对象