JDK 6.0中web service怎么用

这篇文章将为大家详细讲解有关JDK 6.0中web service怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

首先我们来认识一下JDK 6.0中web service,Java 6.0 之后,其中JDK自带有个轻量级的web service 服务器。如果你比较细心一定发现在你安装Java的路径下,有Java webservice 的示例代码。

以前也用Java开发过web service ,但是当初用了一个apache 下axis开源项目。不过Java自带有何必舍近求远呢。今天我就把自己创建的最简单Java webservice 范例过程记录下来,与大家分享。

我用的是Netbeans 6,首先建立一个Java 应用程序工程,名为WebServices。建立一个服务端程序。

package WebServices;

import javax.jws. * ;  import javax.xml.ws.Endpoint;  /**  * @author hecm  */ @WebService(targetNamespace = " http://www.blogjava.net/JAVA-HE " ,   serviceName = " HelloService " )  public class WSProvider  {  // @WebResult(name = "Greetings") // 自定义该方法返回值在WSDL中相关的描述   @WebMethod(action = " sayHi " , operationName = " sayHi " )  public String sayHi(@WebParam(name = " MyName " ) String name)  {  return " Hi, " + name; // @WebParam是自定义参数name在WSDL中相关的描述   }  @Oneway // 表明该服务方法是单向的,既没有返回值,也不应该声明检查异常   @WebMethod(action = " printSystemTime " , operationName = " printSystemTime " )   // 自定义该方法在WSDL中相关的描述   public void printTime()  {  System.out.println(System.currentTimeMillis());  }  public static void main(String[] args)  {  Thread wsPublisher = new Thread( new WSPublisher());  wsPublisher.start();  }  private static class WSPublisher implements Runnable  {  public void run()  {  // 发布WSProvider到http: // localhost:8888/hechangmin/WSProvider这个地址,之前必须调用wsgen命令  // 生成服务类WSProvider的支持类,命令如下:  // wsgen -cp . WebServices.WSProvider   Endpoint.publish("http://localhost:8888/JAVA-HE/WSProvider", new WSProvider());  }  }  }

在JDK 6.0中web service建立对应的包,就不用说了。

然后编译文件。

进入命令提示符下,进入classes目录,运行:wsgen -cp . WebServices.WSProvider

可以看到将刚才的class 生成了几个Java文件和class文件。

现在要做的是发布ws到http://localhost:8888/chinajash/WSProvider

而实际上的动作就是:Endpoint.publish("http://localhost:8888/chinajash/WSProvider",new WSProvider());

当然直接运行WSProvider 。

然后输入http://localhost:8888/JAVA-HE/WSProvider?wsdl

就已经查看到生成的wsdl (webservice 描述语言)。

也就是服务端就OK了。

保持运行。编写一个测试客户端:

首先选择项目,右键新建 web服务客户端。其中ws url填入刚才生成的wsdl地址:

http://localhost:8888/JAVA-HE/WSProvider?wsdl

(实际上:和wsimport http://localhost:8888/JAVA-HE/WSProvider?wsdl 一样的效果)

产生一个效果:在classes下 按照 之前指定的名字空间产生的包下(目录结构)生成了7个帮助class。

然后我们建立一个包 client 建立测试文件:

/*  * To change this template, choose Tools | Templates  * and open the template in the editor.  */ package client;  import net.blogjava.java_he. * ;  /**  *  * @author hecm  */ public class Test {  public static void main(String args[])  {  HelloService hs = new HelloService();  WSProvider ws = hs.getWSProviderPort();  System.out.println(ws.sayHi( " hechangmin " ));  ws.printSystemTime();  }  }

运行这个测试类:

Hi,hechangmin

输出了。

关于“JDK 6.0中web service怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/208695.html

(0)
上一篇 2021年12月7日
下一篇 2021年12月7日

相关推荐

发表回复

登录后才能评论