您的位置:首页 > 编程语言 > Java开发

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

2015-09-24 07:44 387 查看
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:张三

    */

  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: