如何从wsimport生成SoapProxy?

6
我正在比较IBM Rational Application Developer生成的客户端存根和Java的wsimport,并注意到IBM RAD生成了一个额外的类,即SOAPProxy类。这个类允许设置Web服务的URL。
如何在Java的wsimport中生成SOAPProxy类?IBM RAD的wsimport和Java的wsimport是否相同?
以下是IBM RAD生成的类:
- ObjectFactory.java - package-info.java - WSCalculator_Service.java - WSCalculator.java - WSCalculatorRequest.java - WSCalculatorResponse.java - WSCalculatorSOAPProxy.java - Java的wsimport没有生成这个类。如何使用Java的wsimport生成它?

你在使用哪个版本的RAD?你是如何生成代码的 - 是在封套EAR项目上使用“为部署准备”吗?还有什么其他操作吗? - Isaac
2个回答

0
在 RAD 9.1 中,当您在 Web 服务客户端弹出向导中选择“Client type:”为“Java Proxy”时,它也会创建代理代码。与 RAD 一起提供的 wsimport.exe 似乎无法通过命令行创建代理代码。

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。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接