【问题标题】:How to call web service client in java eclipse如何在 java eclipse 中调用 web 服务客户端
【发布时间】:2016-08-21 09:17:18
【问题描述】:

我正在开发一个调用云服务的安卓应用程序。 我通过在服务器站点中调用 wsdl 文件 cloudservice.wsdl 添加 Web 参考客户端。 它会生成名为

的文件

(i)CloudServiceLocator(java 文件)

(ii)cloudservicesoap(接口)

(iii)CloudServiceSoapProxy(java 文件)

(iv)CloudServiceSoapStub(java 文件)

(iV)CloudService(接口)

如何将CloudServiceSoapStub 类中的方法调用到我的应用程序中。

【问题讨论】:

    标签: java android web-services web wsdl


    【解决方案1】:

    调用wsdl文件后试试下面的代码

    注意:方法可能会根据您的 wsdl 服务进行更改

        CloudServiceSoapStub stub=null;
        CloudServiceLocator locator=new CloudServiceLocator();
        String endPointAddress = locator.getServiceSoapAddress();
    
        try {
            stub=(CloudServiceSoapStub) locator.getServiceSoap(new URL(endPointAddress));
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (ServiceException e) {
            e.printStackTrace();
        }
    

    生成存根后,你可以得到你需要的方法

    例如:stub.getValues();

    【讨论】:

    • 尝试运行此代码。但出现一些错误 NoClassDefFoundError
    • 你能提供完整的日志吗
    • 04-28 10:04:39.663: E/AndroidRuntime(7112): java.lang.NoClassDefFoundError: com.easylogcloud.www.CloudServiceLocator
    • 您说您已将 Web 引用客户端添加到您的应用程序中。“CloudServiceLocator”类仅从 Web 引用中获取。请检查您是否已正确创建客户端。
    • 我找到了我们不能在主类之外调用生成的定位器和存根类的原因。我正在使用android应用程序不幸的是android项目不包含main方法。是否可以在android中添加main ?.如果是意味着如何访问android应用程序中的main方法?
    猜你喜欢
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 2011-10-10
    • 2010-11-09
    • 2010-09-17
    相关资源
    最近更新 更多