webservice实例java_Java WebService(实战) 简单实例

webservice实例java_Java WebService(实战) 简单实例一、准备工作(以下为本实例使用工具)1、MyEclipse10.7.12、JDK1.6.0_22二、创建服务端1、创建【WebServiceProject】,命名为【TheService】。2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。3、编写供客户端调用的方法,即编译方法代码。4、进行编译说明:编译失败的话,请将该项目引用的jd…

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

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

1、MyEclipse10.7.1

2、JDK 1.6.0_22

二、创建服务端

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

01b9ac5c891f8831eef245346f34366c.png

3ad6bc490545d9618be90440284f77eb.png

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

278c3e53114213874cc29f618fd67476.png

7fb619a7aced9997ff2bdedf1c829ccb.png

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

5274e89dec647e74a88e705e809c8d40.png

4、进行编译

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

c5aad94411c9905ca738e9af458e59db.png

f949a05740bded8e4b35e70f731b9845.png

5、测试结果

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

fecf20739901a723087c4ef1b6ec769a.png

三、生成客户端

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

3d0153889df4945543150a96798d64d4.png

c8df2161141be721de40f72a7426d6d8.png

f3bb42b338980553bc4367e8e30cee77.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”

bcf709baab7bd18b809dbba3b4afab35.png

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

2089aef77e838f946b337131dff7e2b5.png

a970e239729d9d4ecba72df8d0072a38.png

四、最终测试

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

0a4da541deda7cca92a9a6ad50997855.png

4f50725d700df7119f376618249d77aa.png

ab350baf51a39584b83f6d62b9b52620.png

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

4f53a119b89cbc6598eed281f6ec6aa8.png

5bab5b2f1c7637a5b225378b1eb277c1.png

五、注意事项

1、JDK版本过低问题

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

b81546293330e633c884aab63480cbfa.png

原因:JDK版本低于1.6.0_17

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

41bf3ca2109b524faebb1bad9e3ac09c.png

84eee82384c51ab3c5635936ad3323eb.png

64b22501ccb03f09c7a07baaa0f4f7f2.png

703cd40c5e6d5e18e7863beffe107dff.png

47c7bcf4f35ab480f3aa59879031cfd4.png

de2c3329e28514aeae9861785e2c530b.png

90b6efb64d483b0d4c71a61b059bb581.png

5f24b2c47f7708a21aa9bf9fc386ccb6.png

cae6f3b9f02be6f33fa46ecb064825e5.png

23724f7b6b0b95d0e84e7589dc8d9977.png

ce50bf49b5a8229804ea2f7daab39f6b.png

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

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

6365f7300b48bcac7ae47c1c96938d76.png

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

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

3、生成命令不完整问题

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

df7b7205ba5acd193b7fefaa41d39852.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

六、示例源码

服务端源码  下载

客户端源码  下载

Java WebService 开发简单实例

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

java反射机制简单实例

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

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

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

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

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

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

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

Java RMI 最简单实例

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

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

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

webservice(二)简单实例

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

Webservice入门简单实例

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

随机推荐

The Towers of Hanoi Revisited—(多柱汉诺塔)

Description You all must know the puzzle named “The Towers of Hanoi”. The puzzle has three …

Tarjan算法

SCC即强连通分量,即一个图的子图,其中的点能相互到达,全称是strongly connected component. Tarjan算法是用来找出图的SCC. 伪代码 int index = 0; …

MariaDB数据解压版安装(10.0.16)

官网下载地址:https://downloads.mariadb.org/    (自己选择版本下载) 在windows 7 下安装 1.下载到解压版安装文件mariadb-10.0.16-win32 …

XSS(笔记1)

概念 跨站脚本(Cross-Site Scripting,XSS) 发生在目标网站中目标用户的浏览器层面上,当用户浏览器渲染整个HTML文档的过程中出现了不被预期的脚本指令并执行时,XSS就会发生.为 …

vue-resources&axios

vue-resource vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应. vue-resource特点: 体积小 vue-re …

python 警惕 IEEE 754标准

双精度浮点数格式,即IEEE 754标准 >>> 0.1+0.2 0.30000000000000004 >>> (0.1+0.2)==0.3 False > …

Python全栈学习_day006作业

Day6作业及默写 ,使用循环打印以下效果: : * ** *** **** ***** : ***** **** *** ** * : * *** ***** ******* ********* . …

常用Javascript集锦【不定期更新】

怎样用javascript删除某个HEML标签 document.getElementById(id).parentNode.removeChild(document.getElementById(i …

php深入学习

关于PHP程序员解决问题的能力 http://rango.swoole.com/archives/340 深入理解PHP内核 by xuhong大牛 http://www.php-internals. …

【转】(C#)OPC客户端源码

本例下载/Files/badnewfish/OPC测试通过.rar 转载申明 申明:本文为转载,如需转载本文,请获取原文作者大尾巴狼啊的同意,谢谢合作! 转自:大尾巴狼啊 原文出处:http://ww …

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

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

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

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

(0)
blank

相关推荐

  • b站的java教程怎么样(b站学java哪个好)

    Heyguys,这里是cxuan,欢迎你收看我最新一期的文章。这是一篇鸽了很久的文章。。。。。。事情还要从上回说起。。。。。。我爱B站!这篇文章我汇总了B站上计算机基础(操作系统、计算机网络、数据结构和算法、汇编等)学习视频,受到了很多小伙伴的认可和追更。甚至CSDN还有在催我更新的读者朋友所以这篇文章,不能再拖了,更新起来!!!Java基础Java基础:尚硅谷宋红康https://www.bilibili.com/video/BV1Qb411g7cz?from

  • 查看linux版本内核 Linux内核版本的变化[通俗易懂]

    查看linux版本内核 Linux内核版本的变化[通俗易懂]linux内核 linux内核版本号格式     major.minor.patch-build.desc  1、major:表示主版本号,有结构性变化时才变更。  2、minor:表示次版本号,新增功能时才发生变化;一般奇数表示测试版,偶数表示生产版。  3、patch:表示对次版本的修订次数或补丁包数。  4、build:表示编译(或构建)的次数,每次编译可能

  • 1.什么是线程池?为什么要使用线程池

    1.什么是线程池?为什么要使用线程池线程池作为java开发者必备技能,在日常开发中十分常见,所以从这一节开始我们介绍线程池。今天的内容有两点,第一点,为什么要使用线程池?第二点,什么是线程池?首先来看第一点,为什么要使用线程池?在

  • mysql的驱动jar包下载

    mysql的驱动jar包下载jar包链接

  • 最全企业安全网管工具名单查询_企业网络安全管理要求

    最全企业安全网管工具名单查询_企业网络安全管理要求我在一家医药公司做IT运维,老板喊我做一些企业智能化的工作。我就对这块做了些调研,所以知道哪些产品好用,哪些产品不好用,整理了份名单,分享给大家公司文档加密这块:翼火蛇免费3个点,其他按照15+3/月/终端收费,在做小白鼠实验云子可信-铁卷SaaS版目前是内测阶段,是我们公司目前在使用的,还不错,推荐这个!亿赛通收费标准未知,调研过,不好用,可能需要专业人员帮助员工机器管理的:瑞星安全云终…

  • Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写

    Hi3516DV300开发板——2.uboot、kernel、fs文件系统烧写前言搭建环境教程:Hi3516DV300开发板——1.环境搭建此教程默认环境:Win10+VMware+Ubuntu18.04这篇文章只针对使用Windows下使用网口进行烧录,所以需要有一根网线和一根串口线直连电脑。不要问为什么不用串口,因为我之前串口烧录了2个小时还没成功,最后网口1分半钟烧录成功,至于官方提供的vscode,对serialport太不好装了,果断放弃。百度云过期可以留邮箱发需要哪个@@@@烧写准备1.安装USB转串口的驱动程序链接:USB-to-SerialC

发表回复

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

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