如何添加Spread的Web服务到我的Java项目(Eclipse)?

在本教程中,我们将会演示如何在Eclipse中通过WSDL来为Spread WebService自动生成Java客户端代码。具体步骤如下:

  1. 打开带有Web Service插件的Eclipse 工具,首先创建一个Dynamic Web Project (New -> Project... -> Web -> Dynamic Web Project)

    img

  2. Project Explorer右键该项目,选择New -> Other...,在弹出的Select a wizard 对话框中选择 Web Service -> Web Service Client,并点击 Next按钮

    img

  3. Spread WebServiceWSDL路径http://service.rspread.com/service.asmx?wsdl)复制粘贴到Service definition
    不同的账号,WSDL路径会不同,请根据如何获取API的账号信息,获取账号的接口链接。根据接口链接修改WSDL路径
    (如:接口链接为http://service6.rspread.net/service.asmx,WSDL路径应为http://service6.rspread.net/service.asmx?wsdl)

    img

  4. 通过WSDL生成的部分客户端代码如下图所示

    img

  5. 最后一步使用这些生成的类来调用Web服务,因此,我们创建一个名为ClientTest的测试类,在该类中我们尝试调用helloWorld方法来获取返回结果。测试代码如下:

    img

    在该类中调用接口getAPIKey来获取返回结果。代码如下:
                        
    package com.reasonablespread.service;
    
    public class ClientTest {
        public static void main(String[] args) {
            try {
                ServiceLocator serviceLocator = new ServiceLocator();
                ServiceSoapStub serviceSoapStub = (ServiceSoapStub) serviceLocator.getServiceSoap();
                String result = serviceSoapStub.getAPIKey("【YOUR_LOGIN_EMAIL】","【YOUR_LOGIN_PASSWORD】");
                System.out.println("Result is: " + result);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
                        
                    

  6. 运行ClientTest,在控制台得到输出结果

    img

  7. 常见问题
    • 请求返回错误信息: Server was unable to process request. ---> System.Net.WebException: The remote name could not be resolved: 'service6.rspread.net'
      请求的接口链接错误。 修改文件ServiceLocator.java内,ServiceSoap_address的值。 请根据账号的接口链接修改(如何获取API的账号信息)。
      如:从"http://service.rspread.com/service.asmx"改成"http://service6.rspread.net/service.asmx"。