【问题标题】:How to use Axis WSDL2Java generated files?如何使用 Axis WSDL2Java 生成的文件?
【发布时间】:2023-03-28 08:54:01
【问题描述】:

我使用 WSDL2Java 转换器从 WSDL 生成 Java 文件,但我不知道如何将服务与这些文件一起使用,因为没有示例。我正在实现客户端。

【问题讨论】:

  • 您使用的是 Axis1 还是 Axis2?如果是 Axis2,那么您使用了哪个数据绑定选项?您为 wsdl2java 指定的确切参数是什么?
  • Axis1,我只给了选项 -s wsdl_filename.wsdl,当然还有 java 的类路径,包括所有必需的 jars

标签: java axis wsdl2java


【解决方案1】:

关于 Axis2:阅读这些链接,它们包含一些示例:

http://ws.apache.org/axis2/1_5_1/quickstartguide.html#clients
http://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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    相关资源
    最近更新 更多