java webservice 实例_Java WebService 简单实例(附实例代码)

java webservice 实例_Java WebService 简单实例(附实例代码)前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。一、准备工作(以下为本实例使用工具)1、MyEclipse10.7.12、JDK1.6.0_22二、创建服务端1、创建【WebServiceProject】,命名为【TheService】。2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。3、编写供客户端调…

大家好,又见面了,我是你们的朋友全栈君。

前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。

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

1、MyEclipse10.7.1

2、JDK 1.6.0_22

二、创建服务端

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

fc1d5ae6752c5dd3648ceed29253ee84.png

025c7eb2236662c8ef0960fd798429d2.png

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

18b2b11752c0d8d496c08e6c1ed7c69f.png

0ff576456fbc7aeeb1a4b381d443eae5.png

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

9087bd00a11fdce9ec7150f90bf59ba8.png

4、进行编译

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

7f224289e547bb29d98a3932ce020bf4.png

6faa24fa524d63691a345ab0ea333b2c.png

5、测试结果

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

d5b1afe12e06b78259d08d9e24a6a0ba.png

三、生成客户端

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

af168b95a275649b77cdd170cfd09069.png

86f46ac035472424df98368632793937.png

4bed160176401dcdc4af677a54d63e82.png

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”

4330fa8bc34c091cc37b1e345bdd31f9.png

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

4cd4fc31b70601eca846776987679640.png

f9f306dd9e394b77089b0ee235ea6e41.png

四、最终测试

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

e30e37dde315ef49d2425c92459d8ecc.png

fe983e28e7be1c3f739bcecf3ab0ba04.png

b1c998d3f88e63a8bdaf3364cef9057f.png

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

49975fc8dc5e9fb4f6f6c568fbec992a.png

e76e95878cb707915a0090981219b4f0.png

五、注意事项

1、JDK版本过低问题

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

97b8b6a5cc88f22e46446e2bfb19b975.png

原因:JDK版本低于1.6.0_17

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

7cd57c15b7f0174ef483f6eb1012d2a7.png

62ada4c6c69199faa7d3746cd96db3a0.png

be39fb8366547ad437dd280bf3e150a6.png

c537515fb9ccba52e04a7537f4b23542.png

2999786ff78057ca1bd6b1cf3bdb82c7.png

8d2239a66a9727542af40446d2a43dae.png

f7676d08cdfbd5e4d835271637e4fdab.png

5964afdc976aa998f83a41bee1ee7cde.png

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

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

e62fdc052e246678ea69e53737a2878c.png

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

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

3、生成命令不完整问题

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

db1344d86f80ee4f905641b90ab7a48d.png

原因:生成命令末尾缺少“?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

六、示例源码

服务端源码  下载

客户端源码  下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162646.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 回顾外滩踩踏事件,吸取的教训[通俗易懂]

    回顾外滩踩踏事件,吸取的教训[通俗易懂]外滩踩踏事故:悲剧为何发生?外滩踩踏事故:悲剧为何发生?截至当前,上海外滩踩踏事故已造成36人遇难、47人受伤。事故发生的原因初步显现,为外滩观景平台的人流对冲。很多人认为这种归因过于简单,更何况

    2022年7月1日
    188
  • map的containsKey方法

    map的containsKey方法map是一个key和value的键值对集合。map中的containKey(key)方法是判断该key在map中是否有key存在。如果存在则返回true,反之,返回false。程序实例:判断数组中是否有1,有的话就返回1和1所在的位置。我采用的是hashmap,在哈希表中进行添加,删除,查找等操作,性能十分之高,不考虑哈希冲突的情况下,仅需一次定位即可完成,时间复杂度为O(1),时间消耗是很少的。packageTT04;importjava.util.Has…

    2022年6月23日
    102
  • 独特的微信号_uniapp和原生小程序混合开发

    独特的微信号_uniapp和原生小程序混合开发flyio是什么?一个支持所有JavaScript运行环境的基于Promise的、支持请求转发、强大的http请求库。可以让您在多个端上尽可能大限度的实现代码复用。flyio的平台支持?目前Fly.js支持的平台包括:Node.js、微信小程序、Weex、ReactNative、QuickApp和浏览器,这些平台的JavaScrip…

    2022年9月4日
    3
  • 使用C++解决八数码问题

    使用C++解决八数码问题八数码问题问题描述:通过单步移动把下面的矩阵移动成1-8环绕一周的矩阵(即0在中间,1-8顺序排成一圈,1在哪无所谓)217860345283164705 \begin{matrix} 2&8&3\\ 1&6&4\\ 7&0&5\\ \end{matrix}(1)分别用宽度和深度搜索进行;(2)假设启发式的方程为f(n)=d(n)+…

    2022年7月12日
    23
  • JS中clientHeight、scrollHeight和offsetHeight的大坑,滚动条抖动问题解决

    JS中clientHeight、scrollHeight和offsetHeight的大坑,滚动条抖动问题解决JS中clientHeight、scrollHeight和offsetHeight的大坑,滚动条抖动问题解决1.什么是clientHeight、scrollHeight和offsetHeight1.1clientHeight是什么1.2offsetHeight是什么1.3clientHeight和offsetHeight的注意点1.4scrollHeight和它的大坑jQuery和原生js…

    2022年7月24日
    8
  • BitBlt介绍

    BitBlt介绍

    2021年12月10日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号