首页 > Web开发 > 详细

2.使用JDK开发webService

时间:2016-01-21 00:14:23      阅读:209      评论:0      收藏:0      [点我收藏+]

使用jdk开发webService需要注意:jdk版本必须1.6以及1.6以上!

以下webService的组成部分:

  server端和client端,通过服务器端(server)webService发布,使用客户端调用。

   说明:开发中也许只做server端也许只做client端,以下只是模拟程序。

 

开发步骤:

1.开发server端:

  1.1编写webService编码:

    1.1.1创建一个接口(SEI,webService终端接口,该接口方法供client端调用)

/**webService服务器端接口*/
/**接口和接口实现类添加@WebService注解*/
@WebService
public interface HelloWebService {
    /**接口方法添加@WebMethod注解*/
    /**该方法最终由客户端调用,参数由客户端调用时传入*/
    /**返回的数据返回给客户端*/
    /**
     * @param name 服务器端接收客户端的数据
     * @return 服务器端返回给客户的的信息
     */
    @WebMethod
    public String sayHello(String name);
}

   1.1.2定义HelloWebService接口的实现类

/**SEI(服务器端接口)的实现类*/
/**和父接口一样,需要添加@WebService注解*/
@WebService
public class HelloWebServiceImpl implements HelloWebService {

    @Override
    public String sayHello(String name) {
        return "Hello: "+name;
    }
}

  1.2发布webService,将以上定义暴露出去以便供客户端调用

/**使用Endpoint发布webService*/
public class WebServiceRelease {

    public static void main(String[] args) {
        /**address:客户端调用接口地址*/
        /**helloWebServiceImpl:接口实现类对象*/
        String address = "http://localhost:8080/webService/helloWebService";
        HelloWebServiceImpl helloWebServiceImpl = new HelloWebServiceImpl();
        Endpoint.publish(address, helloWebServiceImpl);
        /**如果发布成功打印以下*/
        System.out.println("发布成功!");
    }
}

  执行程序:

  技术分享

2.开发client端:

在开发client端之前,我们可以尝试着使用上方发布的路径访问看看,得出以下结果:

技术分享

技术分享

一切正常,开始开发client端

2.1借助jdk的wsimort.exe工具生成客户端代码

  注意:客户端代码生成到client工程下,跟server端是不一样的工程

  2.1.1打开cmd,cd到client工程的src目录下(因为客户端代码要生成到这个路径下),例如我的client工程src路径为:D:\developUtil\workspace\webServiceClient\src,那么就在cmd界面窗口cd D:\developUtil\workspace\webServiceClient\src,按回车,这时src目录为当前路径;

  2.1.2接着继续在cmd窗口执行wsimport -keep http://localhost:8080/webService/helloWebService?wsdl,http://localhost:8080/webService/helloWebService?wsdl为之前发布的address加上?wsdl

  2.1.3刷新工程,查看客户端生成的代码

  技术分享

2.2测试程序

技术分享

从上方的wsdl数据,可以看出HelloWebServiceImplService是主要的实现类,所以创建HelloWebServiceImplService的对象,然后通过HelloWebServiceImplService对象调用上方的wsdl数据中的HelloWebServiceImplPort方法,返回一个接口(实现类对象的引用),再通过该接口变量调用服务器端暴露的方法。

public class FindServerMethod {

    public static void main(String[] args) {
        /**HelloWebServiceImplService*/
        HelloWebServiceImplService factory = new HelloWebServiceImplService();
        HelloWebServiceImpl helloImplPort = factory.getHelloWebServiceImplPort();
        String result = helloImplPort.sayHello("java");
        System.out.println(result);
    }
}

 

2.使用JDK开发webService

原文:http://www.cnblogs.com/Json1208/p/5146984.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!