【问题标题】:Java AXIS2 web-service clientJava AXIS2 Web 服务客户端
【发布时间】:2014-01-18 08:45:00
【问题描述】:

我正在尝试编写代码来使用位于以下位置的 Web 服务: http://www.webservicex.net/ws/WSDetails.aspx?CATID=12&WSID=64

我使用了 Axis2 的 WSDL2Java.bat 工具并生成了两个 Java 文件:

  • GeoIPServiceStub.java
  • GeoIPServiceCallbackHandler.java

我已将这些以及轴“lib”文件夹导入到我的项目中。

这是我正在使用的代码:

    GeoIPServiceStub stub = new GeoIPServiceStub();

    GetGeoIP geoIP = new GetGeoIP();

    geoIP.setIPAddress("X.X.X.X");
    GetGeoIPResponse reponse = stub.getGeoIP(geoIP);

当我尝试运行它时,它会抛出 InstantiationError

非常感谢!

【问题讨论】:

    标签: java web-services axis2


    【解决方案1】:

    您正在尝试实例化一个抽象类或接口。这就是引发 InstantiationError 的原因。

    根据文档,如下所述

    公共类 InstantiationError 扩展 IncompatibleClassChangeError

    当应用程序尝试使用 Java new 构造实例化抽象类或接口时抛出。通常,编译器会捕获此错误;如果类的定义发生了不兼容的更改,则此错误只会在运行时发生。

    【讨论】:

    • 谢谢!这说得通。我想我没有按照我应该的方式初始化“存根”。有什么想法吗?
    • 不客气,检查此链接 - stackoverflow.com/questions/1665595/… 并阅读提供的链接
    • 好吧,它工作..排序。每隔一段时间,我就会收到 NullPointerException。当我执行 printStackTrace() 时,我得到以下信息:“无法找到有效的 EngineConfigurationFactory”
    • 请接受我的回答。这可能是另一个问题。但是,我会帮助你。我做了一些搜索,发现了这个link。这似乎是轴中的一个开放错误
    • 这就是票。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    相关资源
    最近更新 更多