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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于数据库逻辑删除(伪删除)的设计方案探讨

    关于数据库逻辑删除(伪删除)的设计方案探讨项目上碰到过关于数据采用了逻辑删除导致的问题,情况是这样:原先的代码中,对于表T中的数据的删除采用的是逻辑删除,但是其他使用该数据的地方并没有针对逻辑删除进行配套的处理。该表T中存在字段A要求不能重复,其实就是说字段A是uniquekey。那么问题就来了,逻辑删除只是将数据的status字段更新为删除状态,所以字段A的旧值依然存在,导致插入新数据时,就不能使用已经删除的字段A的值,这明显是…

    2022年5月12日
    48
  • oracle 存储过程

    oracle 存储过程

    2021年7月7日
    80
  • Linux 安装nodejs_pe安装linux

    Linux 安装nodejs_pe安装linuxlinux安装Node.js(详细)Node.js安装教程文章目录linux安装Node.js(详细)Node.js安装教程1:下载2:解压3:移动目录1:创建目录2:移动目录并重命名4:设置环境变量5:刷新修改6:安装完成,查看版本号1:下载wgethttps://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xz更多版本选择:===》更多nodejs版本下载2:解压tarxfnode-v14.17.4-linux-x64.

    2025年11月4日
    2
  • CF889E Mod Mod Mod

    CF889E Mod Mod Mod

    2021年7月8日
    105
  • 用JAVA判断一个数是否为素数(质数)

    素数(primenumber)又称质数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。有时经常遇到用java判断素数的问题,为大家贴上怎么用java判断出一个数是否为素数。publicstaticbooleanisPrime(intN){if(Nfor(inti=2;i*iif(N%i=

    2022年4月12日
    247
  • 《SiamFC++:Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines》论文笔记

    《SiamFC++:Towards Robust and Accurate Visual Tracking with Target Estimation Guidelines》论文笔记参考代码:video_analyst1.概述导读:这篇文章指出之前的一些跟踪算法没有深入讨论针对跟踪任务的实质,很多时候只是在某些点上进行突破,因而最后方法的性能总是有局限性的。对此文章深入分析了跟踪网络的特性,因而对跟踪网络的设计提出了4点建议:G1(目标位置估计和目标判别需要接耦,分别具有各自的分支)/G2(目标判别置信度不能与实际相模糊)/G3(不能依赖数据分布等先验知识,否则导致泛化性鲁棒性不强)/G4(目标位置的估计应该准确)。正是基于上的4点设计指导,文章设计了SiamFC++网络,在5

    2022年9月27日
    2

发表回复

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

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