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


相关推荐

  • 线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法

    线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的用法注:使用结构CRITICAL_SECTION需加入头文件#include“afxmt.h”定义一个全局的锁CRITICAL_SECTION的实例和一个静态全局变量CRITICAL_SECTION cs;//可以理解为锁定一个资源static int n_

    2022年9月20日
    3
  • C语言getchar的用法_getchar的用法

    C语言getchar的用法_getchar的用法getchargetchar的定义MSDN中的解释是从流中读取一个字符intch=getchar()//通过getchar获取字符的ASCII码值传到ch里面存储这里注意:getchar获取字符以后通过ASCII码值的形式存储在ch里为什么不用charch?getchar读到的是一个int类型的数据好处是返回值的时候非常方便接下来我们再看一个示例:intmain(){intch=0;while((ch=getch.

    2022年10月19日
    2
  • 求图的连通分量

    求图的连通分量题目 输出无向连通图各个连通分量 输入描述 输入文件中包含多个测试数据 每个测试数据的格式为 第 1 行为两个整数 n 和 m 分别表示顶点个数和边数 然后有 m 行 每行表示一条边 为这条边的两个顶点的序号 顶点序号从 1 开始计起 假定无向图是连通的 可能存在割点 也可能没有割点 n m 0 时表示输入结束 输出描述 对每个测试数据 以 uv 的形式依次输出各连通分量中的每条边 每

    2025年7月30日
    2
  • gpio引脚介绍 树莓派3b_树莓派3bgpio引脚介绍[通俗易懂]

    gpio引脚介绍 树莓派3b_树莓派3bgpio引脚介绍[通俗易懂]第4章GPIO接口本章内容:?GPIO接口时通用输入输出端口,通俗的说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚状态——是高电平还是低电平。…更强的“盒子”树莓派3B型主板性能、功能增强,带来更广泛的应用领域。树莓派3B保持了B型树莓派的外形尺寸和接口布局,而性能升级是它最大的变化,……树莓派3B系列的人脸识别实验室门禁系统朱琳,…

    2022年6月25日
    32
  • oracle删除表空间语句「建议收藏」

    oracle删除表空间语句「建议收藏」–删除空的表空间,但是不包含物理文件droptablespacetablespace_name;–删除非空表空间,但是不包含物理文件droptablespacetablespace_nameincludingcontents;–删除空表空间,包含物理文件drop

    2025年7月21日
    1
  • Go语言之Golang http请求库HttpRequest[通俗易懂]

    Go语言之Golang http请求库HttpRequest[通俗易懂]Go语言HttpRequest项目源码地址:https://github.com/kirinlabs/HttpRequest主要实现功能目录安装:发送请求传递URL参数响应内容Json响应内容定制请求头BasicAuth认证JSON请求Cookie超时关闭证书验证调试模式连接操作Respone对象实例代码具有快速构建…

    2022年6月23日
    27

发表回复

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

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