`

实战 JDK 6.0 自带web service

    博客分类:
  • java
阅读更多

   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  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());
     
}
    }
}

当然建立对应的包,就不用说了。
然后编译文件。
进入命令提示符下,进入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

输出了。顺利完成!

一点个人经验,你发布的地址最好写成可配置。还有就是wsdl 中会严格按照你指定的url来访问,比如你指定的127.0.0.1 那么你用本机IP的时候也许并不能顺利访问。

分享到:
评论

相关推荐

    jdk 6.0 自带webservice实现 实例

    "JDK 6.0 自带 Webservice 实现实例" JDK 6.0 自带 Webservice 实现实例是使用 JDK 自带的功能来实现 Webservice 的一个示例。这个示例展示了如何使用 JDK 6.0 中自带的轻量级 Webservice 服务器来发布一个简单的 ...

    官方JDK6.0中文版

    中文版的JDK6.0旨在为中文使用者提供更友好的体验,使开发者更容易理解和使用Java API。 **1. JDK6.0的主要特性:** - **增强的动态代理:** JDK 6.0引入了改进的动态代理机制,允许开发者创建能够处理多个接口的...

    JDK 6.0.zip

    2. **JavaScript交互**:通过Java Web Start和Nashorn JavaScript引擎,JDK 6允许Java与JavaScript进行交互,增强了Web应用程序的功能。 3. **XML处理**:更新了DOM、SAX和StAX API,提高了XML处理的效率和灵活性。...

    深入jdk6.0源码

    《深入JDK6.0源码》是一本旨在帮助开发者深入了解Java Development Kit 6.0的书籍或课程资源。这个主题涵盖了Java语言的基础特性、语法规范以及开发环境的配置和使用,同时也深入到JDK6.0的核心源代码层面,为开发者...

    jdk6.0中文文档

    这份"jdk6.0中文文档"是针对JDK 6.0的官方帮助文档,它提供详尽的API参考、教程和指导,对于理解和使用JDK 6.0至关重要。 **一、JDK 6.0的主要特性** 1. **增强的Swing组件**:JDK 6.0在Swing UI库中进行了大量...

    java学习笔记JDK6.0课件和代码

    本资源是针对Java JDK 6.0版本的学习资料,非常适合初学者入门。 JDK 6.0是Oracle公司于2006年发布的一个重要版本,它是Java SE(Java Standard Edition)的一部分,提供了许多新特性和改进。这个压缩包中包含的...

    JDK6.0简体中文

    在JDK 6.0中,最重要的更新之一是引入了JavaScript引擎(Nashorn),它允许Java程序直接执行JavaScript代码,实现了更紧密的Java与Web技术集成。此外,JDBC 4.0的引入增强了数据库连接和数据访问的便利性,提供了...

    安装和配置jdk6.0和tomcat6.0

    【安装和配置 JDK6.0】 Java Development Kit (JDK) 是 Java 语言的开发工具包,包含了编译器、调试器以及运行环境等必备组件。JDK6.0 是 Oracle 公司发布的一个版本,提供了对 Java SE 6 平台的支持。以下是安装和...

    JDK6.0API官方中文版CHM

    JDK 6.0是Oracle公司发布的一个重要版本,它在JDK 5.0的基础上增加了很多新特性,提升了性能,并对API进行了大量的改进和完善。 JDK 6.0 API官方中文版CHM文件是一个非常实用的开发参考文档,它是以Windows帮助文件...

    jdk 6.0 API Document 文档

    jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档,jdk 6.0 API Document 文档

    JDK6.0的安装与配置

    ### JDK 6.0 的安装与配置详解 #### 一、安装 JDK 6.0 在开始之前,确保已经从官方渠道下载了适用于您操作系统的 JDK 6.0 安装包。对于 Windows 用户,推荐下载针对 Windows 环境的安装包。例如,对于 32 位操作...

    JDK 6.0 Documentation 中文文档 CHM Part1

    JDK 6.0 Documentation 中文文档 CHM 从网上找到的,如果不对请见谅哈,小弟不敢独享,初来乍到,大家多包涵

    jdk6.0中文版api

    jdk6.0中文版jdk。不错的开发者文档!希望你能喜欢!

    jdk6.0环境变量设置

    ### JDK 6.0环境变量设置详解 #### 安装JDK 6.0 在开始设置环境变量之前,首先需要正确安装JDK 6.0。安装过程并不复杂,但选择合适的安装路径至关重要,避免将JDK安装在默认的`C:\Program Files\`目录下,因为该...

    最全 JDK6.0 API 文档

    JDK 6.0 API 文档是Java开发者的重要参考资料,它包含了Java开发工具包的所有公开接口、类和方法的详细说明。这份文档是理解和利用Java 6平台功能的基础,为程序员提供了全面的类库信息,使得开发过程更加高效且有据...

    JDK 6.0安装手册——jdk,linux,aix,widow,Solarise.docx

    JDK 6.0 是 Java 开发者的必备工具,可以用来开发桌面应用程序、Web 应用程序和移动应用程序。 安装 JDK 6.0 安装 JDK 6.0 需要完成以下步骤: 1. 安装前预备:检查操作系统的版本、安装目录、磁盘空间等。 2. ...

    JDK 6.0 API 中文版

    JDK 6.0 API 中文版 开发新手的必备 , 绝对完美的中文版

    jdk6.0 API文档中文版

    **Java Development Kit (JDK) 6.0 API 文档中文版** JDK 6.0 API 文档是Java开发者的重要参考资料,它包含了Java平台标准版6.0的所有公共类、接口、方法和异常的详细说明。这个文档以HTML形式提供,便于用户在线...

    JDK6.0 官方 中文 api chm

    JDK6.0 官方 中文 api chm

    jdk6.0-04.zip

    Java Development Kit (JDK) 6.0 是Oracle公司发布的一个重要的Java编程环境版本,它为开发者提供了构建、测试和部署Java应用程序所需的所有工具。这个版本的JDK在当时引入了多项新特性和改进,旨在提升开发效率和...

Global site tag (gtag.js) - Google Analytics