如何使用 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根据wsdl文件生成本地Java代码

axis2的wsdl2java命令可以生成wsdl的服务端和客服端代码,请问各位大牛这个客服端和服务端的有啥区别。

如何使用 Apache Axis2 和 WSDL2Java 向 SOAP 响应添加命名空间引用

WSDL2Java抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java

使用axis2,根据WSDL生成java客户端代码

使用axis2,根据WSDL生成java客户端代码