一、准备工作(以下为本实例使用工具)

1、MyEclipse10.7.1

2、JDK 1.6.0_22

二、创建服务端

1、创建【Web Service Project】,命名为【TheService】。


 

2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。


 

3、编写供客户端调用的方法,即编译方法代码。

4、进行编译

说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本


 

5、测试结果

测试地址:http://localhost:9001/Service/ServiceHello?wsdl

三、生成客户端

1、创建【Web Service Project】,命名为【TheClient】。


 

 

2、命令提示窗口执行生成命令。

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

示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

说明:

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

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

3、刷新项目,检查生成类


 

四、最终测试

1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。


  

2、编写测试方法,调用服务端方法,并打印返回的结果。


 

五、注意事项

1、JDK版本过低问题

报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?

原因:JDK版本低于1.6.0_17

解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK


 

 

 

 

 

 

 

 

 

 

2、生成命令路径含空格问题

报类似如下的异常:directory not found: G:\SVN_FILE\GB\05

原因:客户端src路径不可含有空格

解决方法:在不含空格路径的文件夹下重新创建客户端即可。

3、生成命令不完整问题

报类似如下的异常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):

原因:生成命令末尾缺少“?wsdl”

解决方法:补上即可。

错误不完整的命令示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello

正确完整的命令示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

六、示例源码

服务端源码  下载

客户端源码  下载

Java WebService(实战) 简单实例的更多相关文章

  1. Java WebService 开发简单实例

    Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service可以执行从简单的请求到复杂商务处理的任何功能.一旦部署以 ...

  2. java反射机制简单实例

    目录 Java反射 简单实例 @(目录) Java反射 Java语言允许通过程序化的方式间接对Class进行操作.Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通 ...

  3. JAVA项目中公布WebService服务——简单实例

    1.在Java项目中公布一个WebService服务: 怎样公布? --JDK1.6中JAX-WS规范定义了怎样公布一个WebService服务. (1)用jdk1.6.0_21以后的版本号公布. ( ...

  4. 使用CXF发布WebService服务简单实例

    一.说明: 前面介绍了使用axis2来发布Webservice服务,现在介绍一种更popular,更高效的Webservice服务发布技术:CXF Apache CXF = Celtix + XFir ...

  5. Java UDP的简单实例以及知识点简述

    UDP的实现 Java中实现UDP协议的两个类,分别是DatagramPacket数据包类以及DatagramSocket套接字类. 其与TCP协议实现不同的是: UDP的套接字DatagramSoc ...

  6. Java RMI 最简单实例

    IHello.java import java.rmi.Remote; import java.rmi.RemoteException; public interface IHello extends ...

  7. Java——Struts2 crud 简单实例(学习struts2和ssh) 用Myeclipse实现

    1.new web project 2.给新建的web项目添加struts2支持 3.项目结构中有了struts.xml和struts2核心库 4.编码 4.1项目结构图 4.2源代码: (1)DbU ...

  8. webservice(二)简单实例

    1.建立WSDL文件      建立WSDL的工具很多,eclipse.zendstudio.vs都可以,我个人建议自己写,熟悉结构,另外自动工具对xml schame类型支持在类型中可能会报错. 下 ...

  9. Webservice入门简单实例

    转载大神 项目目的: 程序A调用程序B中的方法C.. https://blog.csdn.net/lovebosom/article/details/51558139                  ...

随机推荐

  1. Gauge框架在JS中的简单应用

    gauge框架简介 Gauge是一个轻量级的跨平台测试自动化工具. gauge安装[Win10 64位下测试] [百度网盘链接]https://pan.baidu.com/s/1bidE34gLLrS ...

  2. sku算法详解及Demo~接上篇

    前言 做过电商项目前端售卖的应该都遇见过不同规格产品库存的计算问题,业界名词叫做sku(stock Keeping Unit),库存量单元对应我们售卖的具体规格,比如一部手机具体型号规格,其中ipho ...

  3. ES6-for...of与for...in

    1.includes 数组是否包含某个东西 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  4. ASP.NET中IHttpHandler与IHttpModule的区别(带样例说明)

    IHttpModule相对来说,是一个网页的添加 IHttpHandler相对来说,却是网页的替换 先建一个HandlerDemo的类 using System; using System.Colle ...

  5. Java实现 蓝桥杯VIP 基础练习 完美的代价

    package 蓝桥杯VIP; import java.util.Scanner; public class 完美的代价 { public static int sum = 0; public sta ...

  6. 第五届蓝桥杯JavaC组省赛真题

    解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.猜年龄 题目描述 小明带两个妹妹参加元宵灯会.别人问她们多大了,她们调皮地说:"我们俩的年龄之积是年龄之和的6倍" ...

  7. 官宣!ASF官方正式宣布Apache Hudi成为顶级项目

    马萨诸塞州韦克菲尔德(Wakefield,MA)- 2020年6月 - Apache软件基金会(ASF).350多个开源项目和全职开发人员.管理人员和孵化器宣布:Apache Hudi正式成为Apac ...

  8. ASP.NET Core 3.1 WebApi部署到腾讯云CentOS 7+Docker

    一.准备 首先需要有一台CentOS服务器,安装最新版Docker,配置镜像加速等,安装方法网上很多,下面是一些相关指令: yum install -y yum-utils device-mapper ...

  9. xlua中lua对象到c#对象的转型

    lua中的类型 基础类型 #define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define LUA_TLIGHTUSERDATA 2 #define LUA_TNUM ...

  10. 2.vue-常用指令

    1.v-html:刷新的时候是整个DOM元素都会跟着一起进行刷新 v-text:直接刷新DOM种的text文本内容2.如果想在vue绑定html中的属性使用的是v-bind进行绑定的 v-bind:h ...