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

六、示例源码

服务端源码  下载

客户端源码  下载

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java冒泡排序经典代码_Java 8大经典排序算法(含源代码),必须收藏!

    java冒泡排序经典代码_Java 8大经典排序算法(含源代码),必须收藏!原标题:Java8大经典排序算法(含源代码),必须收藏!今天小编帮大家整理了Java的8种经典算法。不论是笔试还是面试,都是非常实用的干货。不论你是菜鸟还是高手,非常值得一看!不转发也是挺可惜的~8种排序之间的关系:1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此…

  • esid是什么意思_es unassigned

    esid是什么意思_es unassignedESN(ElectronicSerialNumbers):电子序列号。在CDMA系统中,是鉴别一个物理硬件设备唯一的标识。也就是说每个手机都用这个唯一的ID来鉴别自己,就跟人的身份证一样。一个ESN有32bits,也就是32/8=4bytes。ESN用8位的16进制来表示,如0x801EA066。随着CDMA移动设别的增多,ESN已经不够用了,所以推出了位数更多的MEID。M…

  • 平均数、中位数和众数及它们之间的关系

    平均数、中位数和众数及它们之间的关系迁移到:http://www.bdata-cap.com/newsinfo/1741421.html本文内容平均数中位数众数参考资料演示最近大BOSS“迷上”了一个网络游戏(什么游戏就

  • unsigned int数据范围16位_unsigned int几个字节

    unsigned int数据范围16位_unsigned int几个字节提到unsigned,大家应该都了解,有朋友问c语言中unsigned什么意思,还有人想问c语言中的unsigned是什么意思,这到底是咋回事?事实上unsigned呢,下面是小编推荐给大家的unsignedint,下面我们一起来看看吧!unsignedint一、指代不同1、int:定义整数类型变量的标识符。2、unsignedint:需声明无符号类型的话就需要在类型前加上unsigned。…

  • ideal21激活码(JetBrains全家桶)

    (ideal21激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~ML…

  • Centos7 网络配置 设置静态Ip

    Centos7 网络配置 设置静态Ip服务器Centos7系统装好后,我需要上网功能,这样客户端才可以连接服务端,那么那些命令可以配置网络登录系统配置动态IP上网输入命令:ls/etc/sysconfig/network-scripts/查看网卡列表,一般默认第一个就是你电脑的网卡,ifconfig-enp6s0就是我的有线网卡。输入命令cat/etc/sysconfig/network-scripts/ifcfg-e

发表回复

您的电子邮箱地址不会被公开。

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