微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webservice开发,eclipse版

1、新建Dynamic Web Project项目,项目名WebService1

2、创建接口WebService,如

package com;

import java.util.Date;
/** * webservice接口 * @author wanzhix * 2015-11-27 10:59:51 */
public class WebService {
    public String sayHi(String a){
        return "Hi!" + a +"!";
    }

    public String getToday(String a){
        Date date = new Date();
        return "今天:"+ date;
    }

    //减法 
    public float minus(float x,float y) {  
        return x - y;  
    }  
    //乘法 
    public float multiply(float x,float y) {  
        return x * y;  
    }  
}

3、右键点击 com 包,新建 webservice ,点击 browse ,输入刚才你建的 java 类的名字,如下图

这里写图片描述

然后一直 next,最后点击start server
生成如图接口文件

这里写图片描述

在浏览器输入http://localhost:8080/WebService1/services,若生成如图页面表示接口创建成功

这里写图片描述

4、创建webservice客户端。创建项目,选择Web Service Client,点击browse选择刚刚生成的WebService.wsdl文件

这里写图片描述

5、点击finish,会创建5个java文件,不用理会,创建一个测试类WebServiceTest,如

package com;

import javax.xml.rpc.ServiceException;
import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
/** * webservice客户端测试 * @author wanzhix * 2015-11-27 */
public class WebServiceTest {

    private static final String url = "http://localhost:8080/WebService1/services/WebService?wsdl";

    public static void main(String[] args) throws Exception {
        System.out.println(getData("sayHi",new Object[]{"jeck!"}));
        System.out.println("日期:"+getData("getToday",null));
        System.out.println(getData("multiply",new Object[]{3.5,2.51}));
    }

    public static Object getData(String method,Object[] object){
        Object result = "";
        Service service = new Service();
        Call call = null;
        try {

            call = (Call) service.createCall();
        } catch (ServiceException e) {
            e.printstacktrace();
        }
        //接口访问地址
        call.setTargetEndpointAddress(url);
        try {
            //调用接口,传入接口名称和参数
            result = call.invoke(method,object);
        } catch (AxisFault e) {
            e.printstacktrace();
        }
        return result;
    }
}

6、运行后得到结果,表示调用成功!

以下是项目图

这里写图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐