WebService应用--使用java开发WebService程序
使用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程序的更多相关文章
- C# 开发XML Web Service与Java开发WebService
一.web service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量 ...
- 纯 Java 开发 WebService 调用测试工具(wsCaller.jar)
注:本文来自hacpai.com:Tanken的<纯 Java 开发 WebService 调用测试工具(wsCaller.jar)>的文章 基于 Java 开发的 WebService ...
- Java开发桌面程序学习(一)——JavaFx+Jfoenix初始以及搭建
Java开发桌面程序学习(一)--JavaFx+Jfoenix初始以及搭建 前言 想做一个Java的桌面程序,但是,使用原生的Swing感觉又十分麻烦,那个布局都是拿代码设置,看着十分的乱,偶然的情况 ...
- java开发webservice的几种方式(转载)
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2方式 Axis是apache下一个开源的webservice开发 ...
- java 开发webservice
这几天用java开发一个webservice,搞死了.java果然很难侍候! 传说java搞webservice,有好几种途径(为什么不是一种?要搞这么多种,让人一听,头都大了.当然啦,生物多样性总是 ...
- JAVA开发WEBSERVICE方式
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2方式 Axis是apache下一个开源的webservice开发 ...
- Java开发WebService的几种方法--转载
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...
- java开发webservice的几种方式
webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...
- Java开发WebService实例(1)
参考文献:http://blog.sina.com.cn/s/blog_7bd0d6a70101dixc.html 简单的java工程实现 1 首先建立一个Java工程,在里面建一个Web servi ...
随机推荐
- 用Visual Studio Code Debug世界上最好的语言
前言 这阵子因缘巧合接手了一个辣鸡项目,是用世界上最好的拍黄片写的,项目基本是另一个小伙伴在撸码,我就兼职打杂和发布做点运维的工作. 然后昨天项目上了测试版之后,一用起来Error满天飞了.让小伙伴查 ...
- JAVA基础知识(2)--堆栈和递归的操作
2015-07-26 18:16:21/***该应用程序对堆栈和递归方法进行实例操作: *1.堆栈操作:先进后出,*2.递归方法:直接或者调用自己的方法:*@author lhm *Email:912 ...
- js提交表单错误:document.form.submit() is not a function
今天在写JS时,遇上这么个错误:"document.form.submit() is not a function",经过一番搜索,最终找到了修复方法. 这个错误一般是由于表单&l ...
- C#全局鼠标键盘Hook
原文出自:http://www.cnblogs.com/iEgrhn/archive/2008/02/17/1071392.html using System; using System.Collec ...
- 前端学PHP之自定义模板引擎
前面的话 在大多数的项目组中,开发一个Web程序都会出现这样的流程:计划文档提交之后,前端工程师制作了网站的外观模型,然后把它交给后端工程师,它们使用后端代码实现程序逻辑,同时使用外观模型做成基本架构 ...
- 在js中,window != top 的作用
在网站的首页加上下面的javascript,就可以把自己的窗口变成是最前端的窗口.可以避免别人把你的网站放在他的iframe中,显示的就是他的网站了,误导浏览者. <script type=&q ...
- Dashboard登录成功后 RuntimeError: Unable to create a new session key.
openstack按照官网docs部署horizon后,使用admin账号密码登录,但网页提示未知错误. 查看/var/log/httpd/error_log 提示这个:RuntimeError: U ...
- VB中的GDI编程-1 设备环境DC
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- Android敏感词过滤主要类
package com.tradeaider.app.utils; import com.tradeaider.app.activity.MyApplication;import java.util. ...
- Struts2基础学习(八)—Struts2防止表单重复提交
一.原因 用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太 慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消 ...