6

我将 IBM Rational Application Developer 生成的客户端存根与 Java 的 wsimport 进行比较,注意到 IBM RAD 生成了一个额外的类,即 SOAPProxy 类。此类允许设置 Web 服务的 URL。

如何在 Java 的 wsimport 中生成 SOAPProxy 类?IBM RAD 的 wsimport 和 Java 的 wsimport 一样吗?

以下是 IBM RAD 生成的类:

  • 对象工厂.java
  • 包信息.java
  • WSCalculator_Service.java
  • WSCalculator.java
  • WSCalculatorRequest.java
  • WSCalculatorResponse.java
  • WSCalculatorSOAPProxy.java - 这不是在 Java 的 wsimport 上生成的。如何使用 Java 的 wsimport 生成它?
4

2 回答 2

0

从 WSDL 生成类的每个工具(JBoss WS、wsimport、Apache CXF、RAD 等)的作用都略有不同,它们生成的类并不相同,尽管它们通常相似。但是有一种方法可以提供您自己的指向 WSDL 的 URL。我不熟悉 RAD 以及它如何生成 Web 服务,但我的猜测是 WSCalculator_Service 类有一个带有 URL 参数的构造函数:

WSCalculator_Service service = new WSCalculator_Service(new URL("http://www.domain.com/ws/file.wsdl"));
WSCalculator port = service.getWSCalculatorPort();
port.callWebService(param1, param2, ...);

有时,采用 URL 的构造函数也需要 QName。我会查看源代码并复制它正在使用的 QName。

于 2013-05-23T19:51:49.660 回答
0

在 RAD 9.1 中,当您在 Web 服务客户端弹出向导中为“客户端类型:”选择“Java 代理”时,它也会创建代理代码。RAD 附带的 wsimport.exe 似乎没有通过命令行创建代理代码。

于 2014-10-30T19:08:16.690 回答