码迷,mamicode.com
首页 > 编程语言 > 详细

javaWebSerivice学习篇2-WebService的JDK自带的包开发

时间:2015-09-24 08:15:20      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

1.前提准备

  jdk的开发环境必须为1.6以及以上的版本(1.6及以上版本的jdk包含了javax.jws包).

2.创建提供服务的接口以及服务接口的实现类

  在发布webservice时,jvm必须要识别那些发布了那些服务,所以要对服务接口和服务接口实现类进行标识,就需要@WebService,@WebMethod两个注解。

  2.1 服务接口必须加注解@WebService,要提供的服务方法必须加@WebMethod,例子如下:

  @WebService
  public interface IHelloWorld {
    
      @WebMethod
      String helloWorld(String name);
  }

  2.2 服务实现类

    服务类必须加注解@WebService,例子如下:

    @WebService
    public class HelloWorldImp implements IHelloWorld {

        public String helloWorld(String name) {
            return "Hello:"+name;
        }

    }

3. 发布webService服务

  3.1要发布webService服务时,可以用EndPoint类,这个类提供的静态的方法publish(String address,Object serviceObject),

    当我们调用了EndPoint.publish发布了对象之后,那么服务端就会一直接受客户端的请求。

        例子如下:

      String url="http://localhost:8080/HelloworldService";

      IHelloWorld service = new HelloWorldImp();

      EndPoint.publish(url,serice);

  3.2验证WebService是否发布成功,可以在浏览器里面输入:http://localhost:8080/HelloworldService?wsdl观察是否有响应,如果有那就发布成功了。

4 客户端访问

  客户端是通过代理或者存根对象来访问服务对象的。客户端要想获取的代理或存根对象,可以有不同的方式,这里就用jdk的wsimport命令来生成一些代码,这些代码能够为我们提供服务的代理或存根对象。

  4.1.打开cmd,cd 要生成代码的文件夹,运行wsimprot命令,这里要价格keep参数,例如:wsimport -keep http://localhost:8080/HelloworldService?wsdl

  4.2.命令执行完后,把生成的代码拷贝到你的工程下。

  4.3 在生成的代码中有一个类实现了javax.xml.ws.Service。这个类能够为我们提供一个服务端的代理对象。例子中的这个类为HelloWorldImpService.生成代理对象如下:

    HelloWorldImpService service = new HelloWorldImpService();

       HelloWorldImp helloWorld = service.getHelloWorldImpPort();

    System.out.println(helloWorld.helloWorld("张三"));

    /**

    *Hello:张三

    */

  

  

 

javaWebSerivice学习篇2-WebService的JDK自带的包开发

标签:

原文地址:http://www.cnblogs.com/kejian/p/4834121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!