实战JDK 6.0自带web service

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

我以前也用java开发过web service ,但是当初用了一个apache 下axis 开源项目。 如果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 StringsayHi(@WebParam(name =  " MyName " )Stringname)
  {
     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)
  {
    ThreadwsPublisher =  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());
   }
  }
}

当然建立对应的包,就不用说了。

然后编译文件。

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

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

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

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

当然直接运行WSProvider 。

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

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

也就是服务端就OK了。

时间: 2024-09-30 03:59:05

实战JDK 6.0自带web service的相关文章

在Pocket PC中使用Web Service连接数据库

web|连接数据库 在Pocket PC中使用Web Service连接数据库前言微软的移动开发者大会在六月的北京举行了,国内的移动应用软件虽然是刚刚起步,但是这个前景宽广的领域已经受到越来越多软件厂商的关注了.移动设备上的商业应用尽管刚刚起步,但已经显示出巨大的发展潜力. 在微软移动开发挑战赛中,我的作品<饕餮元年无线餐饮管理系统>获得了商业应用的三等奖.为了实现Pocket PC与后台数据库服务器的连接,我的作品中使用了.Net CompactFramework和Web Service技术

Apache CXF实现一个纯的JAX-WS web service

先在Eclipse中新建一个Java Project (可以不是WTP的Dynamic Web Project)  选择Java Project 再看pom.xml 我们使用cxf 3.1.4版本, <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation=&quo

Java RESTful Web Service实战(第2版)

Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版. -北京:机械工业出版社,2016.7 (Java核心技术系列) ISBN 978-7-111-54213-1 Ⅰ. J-   Ⅱ. 韩-   Ⅲ. JAVA语言-程序设计   Ⅳ. TP312 中国版本图书馆CIP数据核字(2016)第156331号 Java RESTful Web Servi

Java RESTful Web Service实战(第2版) 1.4 Jersey项目概要

1.4 Jersey项目概要 Jersey是JAX-RS标准的参考实现,是Java领域中最纯正的REST服务开发框架.本节将带读者走近Jersey的世界. Jersey项目是GlashFish项目的一个子项目,专门用来实现JAX-RS(JSR 311 & JSR 339)标准,并提供了扩展特性. 1.4.1 获得Jersey Jersey项目的地址是https://jersey.java.net.该网站同时提供了JAX-RS和JAX-RS2两个并行版本,分别是JAX-RS1.1(截至本书发稿,最

[WSE]Web Service—后台侦听服务通过WSE2.0建立订阅/发布关系

web|后台 由于Web Service的执行身份受限,所以我们无法直接让Web Service申请作为一个SoapReceiver,而是通过下面的web.config定义来制定本虚拟目录的.ashx终结点,从而通过WS_Addressing和WS_Messaging机制来完成与后台侦听服务之间的订阅/发布机制. <configuration> <configSections>     <section name="microsoft.web.services&qu

浅谈及实战Web Service

web 简要介绍下SOA及个人对WebService的理解.就一个具体的项目介绍下实施过程中一些需要注意的问题 引用文章: (1) http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html (2) ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconanatomyofsoapwebservicelifetime.htm (3) ms- help://MS.VSCC.

基于Tomcat5.0和Axis2开发Web Service代码详解

1.HelloWorld做了些什么? HelloWorld功能非常简单,在客户端输入你的姓名,本例中为ZJ.参数传递到服务器端后,经过处理将返回name+"HelloWorld!",本例中为ZJ HelloWorld! 2.服务器端文件HelloWorld.java HelloWorld.java package sample; import org.apache.axiom.om.OMAbstractFactory; import org.apache.axiom.om.OMElem

基于Tomcat5.0和Axis2开发Web Service应用实例

1.工作环境 Eclipse 3.1.2+Lomboz+jdk1.5+ apache-tomcat-5.0.18+AXIS2:1.0(war版本和bin版本) 在http://ws.apache.org/axis2/download/1_0/download.cgi页面下,下载AXIS2的Binary Distribution url: http://apache.justdn.org/ws/axis2/1_0/axis2-std-1.0-bin.zip和war Distribution url

[WSE]Web Service与Windows Service通过WSE2.0建立订阅/发布关系[更新版]

[WSE]Web Service与Windows Service通过WSE2.0建立订阅/发布关系   编写者:郑昀@UltraPower 编写日期:2005-04-13 修改日期:2005-05 目的: 我们建立这种交互关系的目的是,在Web Service和Windows Service(或者其他Windows应用)之间建立起一种稳固的可扩展的不受地域限制的交互关系.  优点: 这种交互关系的优点是: 完全异步: Web service和Windows service/windows for