web service实例
2016-01-22 10:43
113 查看
一、准备工作(以下为本实例使用工具)
1、MyEclipse10.7.1
2、JDK 1.6.0_22
二、创建服务端
1、创建【Web Service Project】,命名为【TheService】。
![](http://dl2.iteye.com/upload/attachment/0101/7887/2c2b9a5b-8476-3cc6-ae28-91affd0ae861.png)
![](http://dl2.iteye.com/upload/attachment/0101/7889/9f5965f0-fe48-317e-8db9-68dcc19abd8c.png)
2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。
![](http://dl2.iteye.com/upload/attachment/0101/7891/156170f0-f6a7-3abe-bff8-4ee88633418c.png)
![](http://dl2.iteye.com/upload/attachment/0101/7893/d31a1ebd-1607-3193-811e-5d1b27ef251a.png)
3、编写供客户端调用的方法,即编译方法代码。
![](http://dl2.iteye.com/upload/attachment/0101/7895/3324a266-78e2-3d27-a6ea-9e55e0e8403e.png)
4、进行编译
说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本
![](http://dl2.iteye.com/upload/attachment/0101/7897/03ee0b15-0e84-326c-a4ff-de4e729bdc76.png)
![](http://dl2.iteye.com/upload/attachment/0101/7899/5ea8baa7-3fca-3314-addc-ba0e9b101e9c.png)
5、测试结果
测试地址:http://localhost:9001/Service/ServiceHello?wsdl
![](http://dl2.iteye.com/upload/attachment/0101/7901/09b96287-a962-3fd7-bcf3-1c8ba19af4e7.png)
三、生成客户端
1、创建【Web Service Project】,命名为【TheClient】。
![](http://dl2.iteye.com/upload/attachment/0101/7903/23fe293c-5db1-3098-9ada-48c2c5f7f3f2.png)
![](http://dl2.iteye.com/upload/attachment/0101/7905/0fe3b620-284d-3431-b322-29cd2292f6e6.png)
![](http://dl2.iteye.com/upload/attachment/0101/7907/3b96eade-6324-33ad-85e9-9fba53866686.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”
![](http://dl2.iteye.com/upload/attachment/0101/7909/e01981dc-d50e-30d9-ba9f-e801d8a3361c.png)
3、刷新项目,检查生成类
![](http://dl2.iteye.com/upload/attachment/0101/7911/44f65c4e-7e1a-3d22-9e38-5cc19974b457.png)
![](http://dl2.iteye.com/upload/attachment/0101/7913/03d1b9e5-4ab0-3f3b-a9a8-1753ccb4d4b2.png)
四、最终测试
1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。
![](http://dl2.iteye.com/upload/attachment/0101/7915/4a79b4a6-a3a3-3276-b47d-1dfe1e0839ff.png)
![](http://dl2.iteye.com/upload/attachment/0101/7917/73f2fb65-22ce-3d9d-8da8-00b987bb0fb1.png)
![](http://dl2.iteye.com/upload/attachment/0101/7919/657933ba-9fcd-3f36-b1e7-e521be538df7.png)
2、编写测试方法,调用服务端方法,并打印返回的结果。
![](http://dl2.iteye.com/upload/attachment/0101/7921/77e6b32d-d017-3127-9322-dde5a85b6966.png)
![](http://dl2.iteye.com/upload/attachment/0101/7923/1f61176d-25c9-346b-96f2-574c83e72b93.png)
五、注意事项
1、JDK版本过低问题
报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?
![](http://dl2.iteye.com/upload/attachment/0101/7928/389198e5-a59d-353e-8368-3c94a722ec67.png)
原因:JDK版本低于1.6.0_17
解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK
![](http://dl2.iteye.com/upload/attachment/0101/7930/9787565a-69f7-3f27-b780-0ff7e4a3393d.png)
![](http://dl2.iteye.com/upload/attachment/0101/7932/44b795ab-1558-33a4-a7e8-1e8e1f8c911a.png)
![](http://dl2.iteye.com/upload/attachment/0101/7934/97e2942a-d21f-3ce2-b141-eedabe10d512.png)
![](http://dl2.iteye.com/upload/attachment/0101/7936/1ced02c9-945c-3ddb-9785-04c533c9f0b5.png)
![](http://dl2.iteye.com/upload/attachment/0101/7938/373d75b2-1c54-3bb7-91e9-35be5d77f98e.png)
![](http://dl2.iteye.com/upload/attachment/0101/7940/7e755db6-e732-3b14-bfbf-145812163f2f.png)
![](http://dl2.iteye.com/upload/attachment/0101/7942/216b9ca3-0621-33f9-b962-df6fd0875da8.png)
![](http://dl2.iteye.com/upload/attachment/0101/7944/d9831e5d-4b6e-31d9-ae0f-48e1ff39e6a9.png)
![](http://dl2.iteye.com/upload/attachment/0101/7946/50eac14c-8b20-3c62-ac31-459e8b39997b.png)
![](http://dl2.iteye.com/upload/attachment/0101/7948/d5662634-0f70-3d25-831d-e00af5e5162a.png)
![](http://dl2.iteye.com/upload/attachment/0101/7950/ce7642b6-7c84-3f4f-8f55-36959d05b68c.png)
2、生成命令路径含空格问题
报类似如下的异常:directory not found: G:\SVN_FILE\GB\05
![](http://dl2.iteye.com/upload/attachment/0101/7952/455c809d-3cc9-352a-aaee-d381f4a3f5df.png)
原因:客户端src路径不可含有空格
解决方法:在不含空格路径的文件夹下重新创建客户端即可。
3、生成命令不完整问题
报类似如下的异常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):
![](http://dl2.iteye.com/upload/attachment/0101/7954/fef0cef5-b44b-35bb-9f69-5fcdd23d835d.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
1、MyEclipse10.7.1
2、JDK 1.6.0_22
二、创建服务端
1、创建【Web Service Project】,命名为【TheService】。
![](http://dl2.iteye.com/upload/attachment/0101/7887/2c2b9a5b-8476-3cc6-ae28-91affd0ae861.png)
![](http://dl2.iteye.com/upload/attachment/0101/7889/9f5965f0-fe48-317e-8db9-68dcc19abd8c.png)
2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。
![](http://dl2.iteye.com/upload/attachment/0101/7891/156170f0-f6a7-3abe-bff8-4ee88633418c.png)
![](http://dl2.iteye.com/upload/attachment/0101/7893/d31a1ebd-1607-3193-811e-5d1b27ef251a.png)
3、编写供客户端调用的方法,即编译方法代码。
![](http://dl2.iteye.com/upload/attachment/0101/7895/3324a266-78e2-3d27-a6ea-9e55e0e8403e.png)
4、进行编译
说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本
![](http://dl2.iteye.com/upload/attachment/0101/7897/03ee0b15-0e84-326c-a4ff-de4e729bdc76.png)
![](http://dl2.iteye.com/upload/attachment/0101/7899/5ea8baa7-3fca-3314-addc-ba0e9b101e9c.png)
5、测试结果
测试地址:http://localhost:9001/Service/ServiceHello?wsdl
![](http://dl2.iteye.com/upload/attachment/0101/7901/09b96287-a962-3fd7-bcf3-1c8ba19af4e7.png)
三、生成客户端
1、创建【Web Service Project】,命名为【TheClient】。
![](http://dl2.iteye.com/upload/attachment/0101/7903/23fe293c-5db1-3098-9ada-48c2c5f7f3f2.png)
![](http://dl2.iteye.com/upload/attachment/0101/7905/0fe3b620-284d-3431-b322-29cd2292f6e6.png)
![](http://dl2.iteye.com/upload/attachment/0101/7907/3b96eade-6324-33ad-85e9-9fba53866686.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”
![](http://dl2.iteye.com/upload/attachment/0101/7909/e01981dc-d50e-30d9-ba9f-e801d8a3361c.png)
3、刷新项目,检查生成类
![](http://dl2.iteye.com/upload/attachment/0101/7911/44f65c4e-7e1a-3d22-9e38-5cc19974b457.png)
![](http://dl2.iteye.com/upload/attachment/0101/7913/03d1b9e5-4ab0-3f3b-a9a8-1753ccb4d4b2.png)
四、最终测试
1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。
![](http://dl2.iteye.com/upload/attachment/0101/7915/4a79b4a6-a3a3-3276-b47d-1dfe1e0839ff.png)
![](http://dl2.iteye.com/upload/attachment/0101/7917/73f2fb65-22ce-3d9d-8da8-00b987bb0fb1.png)
![](http://dl2.iteye.com/upload/attachment/0101/7919/657933ba-9fcd-3f36-b1e7-e521be538df7.png)
2、编写测试方法,调用服务端方法,并打印返回的结果。
![](http://dl2.iteye.com/upload/attachment/0101/7921/77e6b32d-d017-3127-9322-dde5a85b6966.png)
![](http://dl2.iteye.com/upload/attachment/0101/7923/1f61176d-25c9-346b-96f2-574c83e72b93.png)
五、注意事项
1、JDK版本过低问题
报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?
![](http://dl2.iteye.com/upload/attachment/0101/7928/389198e5-a59d-353e-8368-3c94a722ec67.png)
原因:JDK版本低于1.6.0_17
解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK
![](http://dl2.iteye.com/upload/attachment/0101/7930/9787565a-69f7-3f27-b780-0ff7e4a3393d.png)
![](http://dl2.iteye.com/upload/attachment/0101/7932/44b795ab-1558-33a4-a7e8-1e8e1f8c911a.png)
![](http://dl2.iteye.com/upload/attachment/0101/7934/97e2942a-d21f-3ce2-b141-eedabe10d512.png)
![](http://dl2.iteye.com/upload/attachment/0101/7936/1ced02c9-945c-3ddb-9785-04c533c9f0b5.png)
![](http://dl2.iteye.com/upload/attachment/0101/7938/373d75b2-1c54-3bb7-91e9-35be5d77f98e.png)
![](http://dl2.iteye.com/upload/attachment/0101/7940/7e755db6-e732-3b14-bfbf-145812163f2f.png)
![](http://dl2.iteye.com/upload/attachment/0101/7942/216b9ca3-0621-33f9-b962-df6fd0875da8.png)
![](http://dl2.iteye.com/upload/attachment/0101/7944/d9831e5d-4b6e-31d9-ae0f-48e1ff39e6a9.png)
![](http://dl2.iteye.com/upload/attachment/0101/7946/50eac14c-8b20-3c62-ac31-459e8b39997b.png)
![](http://dl2.iteye.com/upload/attachment/0101/7948/d5662634-0f70-3d25-831d-e00af5e5162a.png)
![](http://dl2.iteye.com/upload/attachment/0101/7950/ce7642b6-7c84-3f4f-8f55-36959d05b68c.png)
2、生成命令路径含空格问题
报类似如下的异常:directory not found: G:\SVN_FILE\GB\05
![](http://dl2.iteye.com/upload/attachment/0101/7952/455c809d-3cc9-352a-aaee-d381f4a3f5df.png)
原因:客户端src路径不可含有空格
解决方法:在不含空格路径的文件夹下重新创建客户端即可。
3、生成命令不完整问题
报类似如下的异常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):
![](http://dl2.iteye.com/upload/attachment/0101/7954/fef0cef5-b44b-35bb-9f69-5fcdd23d835d.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
相关文章推荐
- ios开发百度地图只是现实网格的问题
- 设计模式读书笔记-----组合模式
- Activity的生命周期
- Linux Dan Dan~
- 一个有趣的小 Bug 避免了一场大灾难
- UI知识点总结
- 测试图片
- 浏览器缓存机制及应用
- MindMapper内置浏览器如何进行使用
- PHP中的随机性 你觉得自己幸运吗?
- android 缓存工具类
- 设计模式读书笔记-----代理模式
- SQLSERVER获取两位的日期或月份
- Eclipse 的快捷键Ctrl+Shift+F 不起作用
- 7. XSD 简易元素
- Eclipse 启动报错 An error has occurred .See the log file
- Python中range与xrange的区别
- ionic中 ion-tabs嵌套问题的解决
- matlab 2014a 改为英文版本号
- android 自定义图片圆形进度条