`

java6开发webservice详解

阅读更多

java6开发webservice详解

<!-- /info -->

本文将向大家讲述如何使用java6自带的webservice功能进行ws开发。

废话不多说,用实例说明问题:

环境:eclipse3.2     jdk6     本例中没有用到web容器

1.服务端代码

服务1

  1. package com.jlqu.count.service;  
  2.  
  3. import javax.jws.WebService;  
  4.  
  5. /**   
  6. * Java6开发WebService  
  7. */   
  8. @WebService   
  9. public class J6WS1 {   
  10.     //WS中的业务方法   
  11.     public String echo(String str) {   
  12.         return "J6WS1>echo:"+str;   
  13.     }   

服务2

  1. package com.jlqu.count.service;  
  2.  
  3. import javax.jws.WebService;  
  4.  
  5. /**   
  6. * Java6开发WebService  
  7. */   
  8. @WebService   
  9. public class J6WS2 {   
  10.     //WS中的业务方法   
  11.     public String echo(String str) {   
  12.         return "J6WS2>echo:"+str;   
  13.     }   

新建Publish类用来发布服务

 

  1. package com.jlqu.count.service;  
  2.  
  3. import javax.jws.WebService;   
  4. import javax.xml.ws.Endpoint;   
  5.  
  6. /**   
  7. * Java6开发WebService  
  8. * Exception in thread "main" com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.ws.jaxws.DoSomething is not found. Have you run APT to generate them?解决办法:apt com/jlqu/count/service/Java6WebService.java  
  9. */   
  10. @WebService   
  11. public class Publish {   
  12.     public static void main(String[] args) {   
  13.         //java6提供了api级别的发布方式   
  14.         Endpoint.publish("http://127.0.0.1:6016/axis/com.jlqu.count.service.J6WS1"new J6WS1());  
  15.         Endpoint.publish("http://127.0.0.1:6016/axis/com.jlqu.count.service.J6WS2"new J6WS2());  
  16.     }   

运行该main方法,发布服务。

这个时候在浏览器中输入http://127.0.0.1:6016/axis/com.jlqu.count.service.J6WS1?wsdl就会看到wsdl了

这里要注意一点,如果报Exception in thread "main" com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.ws.jaxws.DoSomething is not found. Have you run APT to generate them?

解决办法是使用apt编译 

apt com/jlqu/count/service/J6WS1.java

apt com/jlqu/count/service/J6WS2.java
 

2.

Java6自带了生成WebService客户端代码工具,同样的,生成前要启动服务端,即运行上面的main方法,具体用法:
 

在dos下输入

wsimport -p com.jlqu.count.service.wsclient  -keep http://127.0.0.1:6016/axis/com.jlqu.count.service.J6WS1?wsdl

wsimport -p com.jlqu.count.service.wsclient  -keep http://127.0.0.1:6016/axis/com.jlqu.count.service.J6WS2?wsdl

成功后在com.jlqu.count.service包下会多出个文件夹wsclient,里面就是生成的客户端文件了

 

3.接下来就可以写个测试用例来测一下了

新建一个junit4的类,具体测试代码如下:

  1. /**  
  2.      *   
  3.      * 测试Java6 WS  
  4.      */ 
  5.     @Test 
  6.     public void testJ6WS() {  
  7.         //创建一个客户端服务对象   
  8.         J6WS1 j6WS1 = new J6WS1Service().getJ6WS1Port();  
  9.         //调用服务方法,并得到方法返回值   
  10.         String ret1 = j6WS1.echo("你好!java6的web服务!");   
  11.         System.out.println(ret1);  
  12.         J6WS2 j6WS2 = new J6WS2Service().getJ6WS2Port();  
  13.         String ret2 = j6WS2.echo("看到我,你的web服务就成功了!");  
  14.         //打印服务的返回值   
  15.         System.out.println(ret2);  
  16.     } 

OK!控制台输出了 

J6WS1>echo:你好!java6的web服务!
J6WS2>echo:看到我,你的web服务就成功了!

分享到:
评论

相关推荐

    Java与.net开发webservice详解大全

    探讨webservice服务端和客户端用java或.net编写的情况,这又分为四种类型: 服务端、客户端都是用.net编写的,这里以vb.net为例。 服务端、客户端都是用java编写的。 服务端是java编写的,客户端是.net编写的。 ...

    webservice接口开发步骤详解

    通过eclipse工具自动建立快速开发webservice接口,实现服务端,客户端,及测试整个过程的步骤。

    详解java开发webservice的几种方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,有兴趣的可以了解一下。

    Android平台调用WebService详解

    在Android平台调用Web Service需要依赖于第三方类库ksoap2,它是一个SOAP Web service客户端开发包,主要用于资源受限制的Java环境如Applets或J2ME应用程序(CLDC/ CDC/MIDP)。认真读完对ksoap2的介绍你会发现并...

    Java编程Webservice指定超时时间代码详解

    主要介绍了Java编程Webservice指定超时时间代码详解,简单介绍了webservice,然后分享了通过使用JDK对Webservice的支持进行Webservice调用实现指定超时时间完整示例,具有一定借鉴价值,需要的朋友可以参考下。

    2、webservice--常用注解1

    为了简化WebService 的开发过程,Java 提供了一些注解(Annotation),这些注解可以帮助开发者快速地创建和配置 WebService。这篇文章将详细介绍其中的一些常用注解。 @WebService @WebService 是一个基本的...

    webservice AXIS2 操作手册说明文档

    java 开发 webservice axis2 方式详解。 附带详细说明文档 配置 ,

    webServer.rar

    CXF教程.doc Eclipse中用wsdl生成java客户端.docx java 利用Xfire 来生成Webservice 的WSDL文件 - 爱琴海 - ITeye技术网站.htm XFire部署开发webservice.docx XFire建立Webservice实例.doc XFire开发WebService详解....

    Android ksoap调用webservice批量上传多张图片详解

    这几天一直在开发app,哎呀,什么都是第一接触,想想自己自学Java,然后自学Android,一直没有放弃,曾想放弃的,但是想到爸妈供我上学,不能在宿舍里面玩游戏,加入学校实验室,一天没课就来着里学习,当然这里也有...

    socket实例开发

    详解了socket的使用、java项目开发中如何使用socket 及与webservice的区别

    详解用Node.js实现Restful风格webservice

    Java 也有很多Restful的框架,很方便简洁,Jersey,restlet,甚至SpringMVC也可以,不得不说Rest让人从Web转型到WebService更容易和方便,当然深入Restful的理论还是发现比较复杂的,但是,开发和理论并不需要那么...

    SOAP接口开发chm

    详细描述有关于SOAP开发(AXIS、CXF)等的详细命令及相关过程,还有简单的示例配置。

    IT开发方面的视频教程以及案例视频

    专题:深入讲解 WebService 在实战开发中的应用 专题:水晶报表使用入门及实战 BF-TECH4.0.NET 第二季开学典礼 ASP.NET 之 cms 文章内容管理系统 Extjs 在 Asp.Net 中的应用基础篇 Extjs 在 Asp.Net 中的应用进阶篇...

    Android编程获取图片数据的方法详解

    Android手机和浏览器也是一样的,也可以通过网络通讯获取数据,如调用webservice,EJB等。下面就通过一个小例子从网络获取一幅图片并显示在手机上,开发中将会使用到一个新的组件ImageView. 1. 写一个用来处理字节流...

    asp.net知识库

    体验.net 2.0 的优雅(1) -- 异步WebService调用 ASP.NET 2.0页面框架的几点新功能 ASP.NET 2.0 中收集的小功能点 asp.net2.0中的webpart使用小记 2.0问题、错误解决办法 ASP.NET 2.0使用Web Part创建应用程序之二...

    axis学习资料汇总

    axis学习资料汇总: Axis实例与分析详解; Axis学习笔记.pdf; Tomcat5.0.28下AXIS完全安装手册.doc; Axis1.4 开发指南_V1.0.pdf; AXIS入门及应用.rar; Axis开发Web+Services.doc 等等

Global site tag (gtag.js) - Google Analytics