【发布时间】:2011-06-08 14:59:57
【问题描述】:
我需要从 Java 访问网络服务。 The service has a WSDL。现在我该如何调用它的操作?
- 我已经在上面使用了
wsimport,但它只会为操作/响应生成 XML 对象,实际上并没有调用它们。 - 我查看了Spring-WS,但它看起来并不完全是我想要的(即使它可能是解决方案的一部分)。该页面中根本没有出现“wsdl”一词。
【问题讨论】:
我需要从 Java 访问网络服务。 The service has a WSDL。现在我该如何调用它的操作?
wsimport,但它只会为操作/响应生成 XML 对象,实际上并没有调用它们。【问题讨论】:
wsimport 不仅生成与服务通信所需的对象,还生成服务客户端。创建类MSaleService 的实例并使用getMSaleServiceSoap() 获取端口。就是这样。
可能有一些问题。 wsimport投诉
[警告] SOAP 端口“MSaleServiceSoap12”:使用非标准 SOAP 1.2 绑定。
http://vas.mikro-odeme.com/services/msaleservice.asmx?wsdl 的第 530 行
但我不知道这是否会造成真正的问题。
【讨论】:
这是我找到的快速链接
http://download.oracle.com/javaee/1.4/tutorial/doc/JAXRPC5.html
基本上,这种类型的调用是调用动态调用,您不需要需要先验地知道 WSDL。
【讨论】:
如果您使用 Eclipse,则有这个向导,您只需指向您的 wsdl 文件即可创建所谓的新“Web 服务客户端”。
因此,如果您的项目中有 wsdl,则只需单击“新建”并选择向导。
它会要求您提供 wsdl 文件和其他一些信息(您可以选择运行时 -Axis、Axis2、CXF...)。
我认为这个向导是 WTP (www.eclipse.org/webtools) 的一部分。
看看:
【讨论】: