使用Eclipse开发第一个WebService程序,本示例采用的工具为Spring-Tool-Suite,和Eclipse没有本质的区别,开发环境jdk1.7

一、开发步骤:

1.新建名为WebService项目

新建HelloService类,放在com.test.webservice包下

下面进行服务端程序的编写:

 package com.test.webservice;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
//加入WebService注解,注意包的名字不要引用错了
@WebService
public class HelloService {
/**
* 该方法共客户端调用,返回字符串
* @param name
* @return
* @return String
*/
public String getValue(String name){
return "Hello"+name;
}
/**
* main方法用来发布服务端到localhost本地,第二个参数为创建的本地对象
* @param args
* @return void
*/
public static void main(String[] args) {
Endpoint.publish("http://localhost:1008/service/serviceHello", new HelloService());
System.out.println("发布成功!");
}
}

运行,对该类进行编译,结果如下:

浏览器中输入:http://localhost:1008/service/serviceHello?wsdl,可以看到一下信息,说明编译成功!

2.接下来生成客户端

2.1生成客户端程序可以新建另外一个WebService项目,也可以在原有的项目基础上新建一个包,为方便这里采用第二种方法:新建名为client的包

2.2打开命令提示窗口执行生成命令。

格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址”

示例:

C:\Users\wangsj>wsimport -s E:\\workingFoilder\\projectSpace\\webservice\\src -p com.test.webservice.client -keep http://localhost:1008/service/serviceHello?wsdl

说明:

1)"src目录"地址不可含空格

2)“wsdl发布地址”不要漏了“?wsdl”

没有报错,说明编译成功!刷新项目可一看到生成了客户端响应的类:

3、新建测试类,进行测试

 package com.test.webservice.test;
//注意,包名不能引用错了
import com.test.webservice.client.HelloService;
import com.test.webservice.client.HelloServiceService;
public class Test { public static void main(String[] args) {
//初始化对象并获得端口
HelloService sh=new HelloServiceService().getHelloServicePort();
//调用服务端方法
String name=sh.getValue(" WebService");
System.out.println(name);
} }

运行可以看到运行结果,证明第一个WebService程序创建成功!

四、总结

1、如果运行过程中出现异常例如:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?,说明当前JDK版本过低,建议升级到1.7版本再试。

2、如果路径写错,或者路径中含有空格,则会报一下错误,我在写的时候就写错了,所以写路径的时候一定要认真

3、末尾的wsdl一定不要丢。

WebService应用--使用java开发WebService程序的更多相关文章

  1. C# 开发XML Web Service与Java开发WebService

    一.web service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量 ...

  2. 纯 Java 开发 WebService 调用测试工具(wsCaller.jar)

    注:本文来自hacpai.com:Tanken的<纯 Java 开发 WebService 调用测试工具(wsCaller.jar)>的文章 基于 Java 开发的 WebService ...

  3. Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建

    Java开发桌面程序学习(一)--JavaFx+Jfoenix初始以及搭建 前言 想做一个Java的桌面程序,但是,使用原生的Swing感觉又十分麻烦,那个布局都是拿代码设置,看着十分的乱,偶然的情况 ...

  4. java开发webservice的几种方式(转载)

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2方式 Axis是apache下一个开源的webservice开发 ...

  5. java 开发webservice

    这几天用java开发一个webservice,搞死了.java果然很难侍候! 传说java搞webservice,有好几种途径(为什么不是一种?要搞这么多种,让人一听,头都大了.当然啦,生物多样性总是 ...

  6. JAVA开发WEBSERVICE方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2方式 Axis是apache下一个开源的webservice开发 ...

  7. Java开发WebService的几种方法--转载

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  8. java开发webservice的几种方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  9. Java开发WebService实例(1)

    参考文献:http://blog.sina.com.cn/s/blog_7bd0d6a70101dixc.html 简单的java工程实现 1 首先建立一个Java工程,在里面建一个Web servi ...

随机推荐

  1. 【SSH项目实战三】脚本密钥的批量分发与执行

    [SSH项目实战]脚本密钥的批量分发与执行 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载, ...

  2. Freemaker配置文件详解

    classic_compatible=true              ##如果变量为null,转化为空字符串,比如做比较的时候按照空字符做比较 whitespace_stripping=true  ...

  3. RecyclerView中装饰者模式应用

    近段时间一直在加班,在赶一个项目,现在项目接近尾声,那么需要对过去一段时间工作内容进行复盘,总结下比较好的解决方案,积累一些经验,我认为的学习方式,是「理论-实践-总结-分享」,这一种很好的沉淀方式. ...

  4. 使用VSCode 断点调试 js项目,html页面

    一.效果目的 1.在VSCode里,直接F5打开html页面,并且可以在编辑器里,进行断点调试js代码: 二.工具准备 1.VSCode 软件 2.一个js项目 3.VSCode 上装一个插件:Deb ...

  5. VB中的GDI编程-2 画笔

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  6. Java并发编程:同步锁、读写锁

    之前我们说过线程安全问题可以用锁机制来解决,即线程必要要先获得锁,之后才能进行其他操作.其实在 Java 的 API 中有这样一些锁类可以提供给我们使用,与其他对象作为锁相比,它们具有更强大的功能. ...

  7. VS 2017开发ASP.NET Core Web应用过程中发现的一个重大Bug

    今天试着用VS 2017去开发一个.net core项目,想着看看.net core的开发和MVC5开发有什么区别,然后从中发现了一个VS2017的Bug. 首先,我们新建项目,ASP.NET Cor ...

  8. Nodejs express 获取url参数,post参数的三种方式

    express获取参数有三种方法:官网实例: Checks route params (req.params), ex: /user/:id Checks query string params (r ...

  9. Struts2基础学习(六)—文件的上传和下载

    一.文件的上传 1.单个文件上传      Struts2使用拦截器完成了文件的上传,而且底层使用的也是FileUpload开源组件. 客户端注意事项: (1)method="post&qu ...

  10. javascript里的几种常见的数组方法

    Array()的几种方法 1.splice(2,3,4)删除数组中任意项(三个参数). 2.splice(1,3)删除从第一项开始的往后三项(两个参数).(splice可以结合pop(),unshif ...