如何使用 Axis WSDL2Java 生成的文件?
Posted
技术标签:
【中文标题】如何使用 Axis WSDL2Java 生成的文件?【英文标题】:How to use Axis WSDL2Java generated files? 【发布时间】:2010-12-12 13:02:22 【问题描述】:我使用 WSDL2Java 转换器从 WSDL 生成 Java 文件,但我不知道如何将服务与这些文件一起使用,因为没有示例。我正在实现客户端。
【问题讨论】:
您使用的是 Axis1 还是 Axis2?如果是 Axis2,那么您使用了哪个数据绑定选项?您为 wsdl2java 指定的确切参数是什么? Axis1,我只给了选项 -s wsdl_filename.wsdl,当然还有 java 的类路径,包括所有必需的 jars 【参考方案1】:关于 Axis2:阅读这些链接,它们包含一些示例:
http://ws.apache.org/axis2/1_5_1/quickstartguide.html#clientshttp://ws.apache.org/axis2/1_0/userguide3.html
编辑: 关于 Axis1:它基于 JAX-RPC,您需要实例化存根对象或使用服务定位器来获取存根实例,所有 WS 操作都将在其中进行。举个例子here:
public class Tester
public static void main(String [] args) throws Exception
// Make a service
AddressBookService service = new AddressBookServiceLocator();
// Now use the service to get a stub which implements the SDI.
AddressBook port = service.getAddressBook();
// Make the actual call
Address address = new Address(...);
port.addEntry("Russell Butek", address);
【讨论】:
我有这样的文件:ServiceBindingImpl.java ServiceBindingStub.java ServicePortType.java ServiceService.java ServiceLocator.java ... 然后实例化您的 ServiceLocator。 result = new ServiceLocator().getService().() 出于某种原因,ServiceLocator 没有 getService() 方法。无论如何谢谢你的帮助【参考方案2】:通常客户端不会在 Web 服务中实例化存根,您会使用服务定位器并调用 get 方法。我无法从您的问题中看出,但如果您问的是更笼统的“我在哪里可以获得 JavaDocs(或此类)以更好地理解 API”,您必须告诉 use 您正在使用哪个 WS。
Axis User Guide
【讨论】:
以上是关于如何使用 Axis WSDL2Java 生成的文件?的主要内容,如果未能解决你的问题,请参考以下文章
axis2的wsdl2java命令可以生成wsdl的服务端和客服端代码,请问各位大牛这个客服端和服务端的有啥区别。
如何使用 Apache Axis2 和 WSDL2Java 向 SOAP 响应添加命名空间引用