一、准备工作(以下称为本实施例中使用的工具) )。
1、MyEclipse10.7.1
2、JDK 1.6.0_22
二、创建服务端
1、创建【web服务项目】,命名为【TheService】。
2、创建【Class】类,命名为【ServiceHello】,在【com.hyan.service】包下。
3 .创建供客户端调用的方法,即方法代码。
package com.hyan.service; importJavaX.jws.web服务; import javax.xml.ws.Endpoint; @ webservicepublicclassservicehello {/* *客户端调用方法此方法不是静态的,而是* @param name传递的参数* @return String的结果* */PPP (publicstaticvoidmain (string [ ] args ) EndPoint.publish ) ) http://localhost 33609001/service/service hello ),新服务); }
4、编译
说明:如果编译失败,请将项目引用的jdk设置为1.6.0_17或更高版本
5、测试结果
测试地址: http://localhost :9001 /服务/服务hello? wsdl
三.客户端生成
1、创建【web服务项目】,命名为【TheClient】。
2、在命令提示符窗口中执行生成命令。
格式: wsimport -s “src目录”-p“生成类所在的包名称”-keep “wsdl公共地址”
示例:
wimport-sg:workspaceweb服务 the clientsrc-pcom.hyan.client-keep 3358 localhost 3360901/ser vient wsdd
说明:
1 )请不要在“src目录”地址中包含空格
2 )不能泄露“wsdl发行地址”? WDL "
3、更新项目,检查生成类
四.最终测试
1、创建【Class】类,命名为【ServiceTest】,在【com.hyan.test】包下。
package com.hyan.test; import com.hyan.client.service hello; import com.hyan.client.service hello service; publicclassservicetest { publicstaticvoidmain (string [ ] args ) service hello=newservicehelloservice ).getservice sting nal ); system.out.println(name; }
2、编写测试方法,调用服务端方法,打印返回的结果。
五.注意事项
1、JDK版本过低的问题
报告以下异常。 runtimemodelererror : wrapperclasscom.hyan.service.jaxws.getvalueisnotfound.haveyourunapttogeneratethem?
原因: JDK版本低于1.6.0_17
解决方法:将服务端项目引用的JDK版本调整为已安装的较高版本的JDK
2、命令路径生成中包含空格的问题
报告了以下异常。 目录不基础: g :SVN _ fileGB 5
原因:客户端src路径不能包含空格
解决方法:在不包含空间路径的文件夹下重新创建客户端即可。
3、生成指令不完整的问题
报告了以下异常。 [ error ] failed.no service=couldnotfindwsdl 3360 serviceintheprovidedwsdl (s ) :
原因:生成命令末尾有“? WDL "
解决方法:补充就可以了。
错误不完整的命令示例:
wimport-sg:workspaceweb服务 the clientsrc-pcom.hyan.client-keep 3358 localhost 3360901/ser vient
正确的命令示例:
wimport-sg:workspaceweb服务 the clientsrc-pcom.hyan.client-keep 3358 localhost 3360901/ser vient wsdd
原文:
3359 www.cn blogs.com/Yisheng 163/p/4524808.html? utm_source=tuicool
是本网站编辑转载的,转载目的是传递更多信息,并不意味着本人赞同该观点,对真实性负责。 关于作品的内容、版权和其他问题,请在30天内联系本人。 我第一时间删除内容。 [声明]本网站文章的版权属于原作者所有,仅从作者个人的角度为本网站提供参考,不构成任何投资和应用建议。