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 ...
随机推荐
- 基于Spring-WS的Restful API的集成测试
在很多Java企业级应用中,Spring占据了非常重要的位置,这就导致了基本上的技术选型都是围绕着Spring来, 比方说笔者最近的项目需要开发一个Restful的API接口,选型的时候就说,客户架构 ...
- Java 反射的理解
反射反射,程序员的快乐,今天你快乐了吗?如果你不快乐,没关系,接下来让你快乐起来! 一.什么是反射? 通过百度百科我们可以知道,Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性 ...
- 在 sublime text 上添加 Package Control
https://packagecontrol.io/installation 打开 View > Show Consolemenu 粘贴如下文本,回车 import urllib.request ...
- JSP文件转换成为JAVA文件后的结构
public final class zzz_jsp extends HttpJspBase implements JspSourceDependent{ public void _jspInit() ...
- IE10去掉input的type=”text”输入内容时出现的小叉号(X)和type=”password”出现的小眼睛图标
最近在做一个后台管理系统项目,遇到以下两个问题: 1.从IE 10开始,type="text" 的 input 在用户输入内容后,会自动产生一个小叉号(X),方便用户点击清除已经输 ...
- Android之XListView下拉刷新,更新网络美女图
一.简介: 下拉刷新是一种特定的手动刷新交互,和其他的同类操作不同的地方在于它采用了更加直觉的下拉操作,所以它的交互足够清晰明显. 下拉刷新主要用在类似ListView这样的控件,设计下拉刷新有三 ...
- springmvc框架原理
1. 用户发送请求至前端控制器DispatcherServlet 2. DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3. 处理器映射器根据请求url ...
- Chapter 4. Working with Key/Value Pairs
Chapter4 working with key/value pairs key/values pairs键值对是Spark中非常常见的一种数据类型(type),RDD有时经常操作键值对数据类型.第 ...
- 快乐Node码农的十个习惯 转
从问世到现在将近20年,JavaScript一直缺乏其它有吸引力的编程语言,比如Python和Ruby,的很多优点:命令行界面,REPL,包管理器,以及组织良好的开源社区.感谢Node.js和npm, ...
- python操作数据库之批量导入
python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...