此博文对应的WebService服务端为使用JDK发布一个简单WebService  。现在我们就要使用这个WebService。

首先要使用JDK自带的命令wsimport,它可以根据wsdl文档生成客户端调用代码的工具.无论服务器端的WebService是用什么语言写的,都将在客户端生成Java代码.服务器端用什么写的并不重要.wsimport.exe位于JAVA_HOME\bin目录下.
常用参数为:
-d<目录>  - 将生成.class文件。默认参数。
-s<目录> - 将生成.java文件。
-p<生成的新包名> -将生成的类,放于指定的包下。
(wsdlurl) - http://server:port/service?wsdl,必须的参数。
示例:控制台中C:\Documents and Settings\Administrator>wsimport -s F:\ -p com.client.jdk.wsimporthttp://localhost:1111/hello?wsdl生成的文件如下:

注意:-s不能分开,-s后面是要存储的位置,用于指定源代码生成的目录 。你可以将生成的客户端调用代码工具打包成jar,也可以不打包直接使用,将它复制到你客户端程序中使用即可。

创建一个WSClient的工程,将刚刚生成的客户端调用代码的工具复制到工程里,如图:

编写客户端调用自己写的服务类 Client.java

package com.client.jdk;
import com.client.jdk.wsimport.MyHelloService;
import com.client.jdk.wsimport.MyHelloServiceService;
/**
* @author jackphang
* @date 2013-4-11
* @description 根据wsimport命令生成客户端代码来调用WebService服务 F:\>wsimport -s . -p
*              com.client.jdk.wsimport
*              http://localhost:1111/hello?wsdl会生成两种文件.class和.java 。
*              而在C:\Documents and Settings\Administrator>wsimport -s F:\ -p
*              com.client.jdk.wsimpo rt
*              http://localhost:1111/hello?wsdl,只会生成.java的文件
*/
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
// 获取WebService提供的服务
MyHelloServiceService service = new MyHelloServiceService();
// 获得自己提供的服务
MyHelloService helloService = service.getMyHelloService();
// 调用服务中的方法
String str = helloService.mySayHello("你大爷的", 1);
System.out.println("服务器返回:" + str);
}
}

前提是你的服务端必须启动才能调用成功,或者会抛出如下异常

Exception in thread "main" javax.xml.ws.WebServiceException: Failed to access the WSDL at:http://localhost:1111/hello?wsdl. It failed with:
 Connection refused: connect.

我们生成的客户端代码工具已经封装好了对服务器端服务的访问,底层是通过Socket访问的,所以我们编写很小的代码就能访问网络中的服务。

如何使用WebService服务相关推荐

  1. linux webservice服务器端,Linux查看资源使用情况 webservice服务端口监控

    本人在最近的项目过程中,发现一个很严重的问题 在我们写的一个应用中,jboss作应用程序的容器,其中加载了webservice服务.每次服务运行一段时间后,大概几天时间以后,发现很奇怪的现象.我们的j ...

  2. java cxf服务端代码_【JAVA】 cxf 生成 webservice 服务端代码

    CXF Apache CXF = Celtix + XFire.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding . ...

  3. 使用Axis2创建一个简单的WebService服务

    使用过Java进行过WebService开发都会听过或者接触过Apache Axis2,Axis2框架是应用最广泛的WebService框架之一了. 这里使用Axis2来开发和部署一个最简单的WebS ...

  4. Spring和CXF整合发布WebService(服务端、客户端)

    参考Spring和CXF整合发布WebService(服务端.客户端) 转载于:https://www.cnblogs.com/timspace/p/11113576.html

  5. [置顶]WebService学习总结(4)——第三方webService服务调用

    互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...

  6. java调用webservice_WebService学习总结(四)——调用第三方提供的webService服务

    只为成功找方法,不为失败找借口! 互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气 ...

  7. 【客户下单】后台提供webservice服务接收数据

    [客户下单]后台提供webservice服务接收数据 在bos_fore系统中,添加OrderAction封装订单数据. 接下来调用webservice,将数据传递给bos_management系统. ...

  8. .NET创建WebService服务简单的例子

    Web service是一个基于可编程的web 的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 WebService的特性有以下几点: 1.使用XML(标准通用标记语言)来作为数据交 ...

  9. VS2008非托管c++访问webservice服务(以WeatherWS 天气服务 为例)

    在Visual Studio 2008以及以后版本中,微软停止了非托管C++的直接WebService引用.不过ATL Server代码已经托管到开源网站上,我们可以找到ATL Server的源代码, ...

  10. 外部系统调用PO的webservice服务,往SAP系统发送数据,用的XISOAPAdapter的方式,出现错误

    我的微信群里有朋友提问: 外部系统调用PO的webservice服务,往SAP系统发送数据,用的XISOAPAdapter的方式,出现这个错误 我的回答: https://answers.sap.co ...

最新文章

  1. Openssl私建CA
  2. ci mysql 事务_MySQL事务-学习笔记
  3. jar容器部署成功无法访问_Spring Boot 应用程序五种部署方式
  4. rabbitmq的启动命令和springboot整合使用rabbitmq
  5. 装修仿720VR全景平台网站源码
  6. 推荐系统之 BPR 算法及 Librec的BPR算法实现【1】
  7. 华为智能手环智能手表软件测试,一块智能手表的测试之旅,揭秘华为运动健康科学实验室...
  8. matlab mat文件 太大,MATLAB .mat文件中的开销过大
  9. python高级-闭包-装饰器
  10. npoi excel 复制行_Excel的格式刷功能你真的会用吗?这样刷更加方便快捷
  11. 吴恩达机器学习5——神经网络的学习
  12. Bzoj2527--Poi2011Meteor
  13. add_subplot()--matplotlib
  14. 生成QQ/MSN/旺旺/SKYPE等在线状态图标
  15. 软件工程——清华大学《软件工程》课程学习与分享
  16. 微信小程序后台服务器搭建
  17. 通用电源模块的测试方法及性能指标
  18. 《树莓派4B家庭服务器搭建指南》第六期:将RSSHub私有化部署到树莓派,并通过《嘎!RSS》订阅自己的信息流...
  19. MPS2326 Constant-On-Time (COT) Step-Down Converter DC-DC
  20. 终于有人把数据安全讲明白了

热门文章

  1. 【小技巧】2345——劫持浏览器主页(Chrome、Edge)
  2. 向Oracle表中的添加数据
  3. BPFT1.7,全名BaiduPanFilesTransfers免费的百度网盘批量转存工具【精】
  4. 垂钓之王hd_它的专业人士指南,以阻止网络钓鱼
  5. 计算机为啥系统保护设置不了,我的电脑为什么设置了屏幕保护程序而不起作用 – 手机爱问...
  6. Java/输入圆形半径,求圆形的周长和圆形的面积
  7. 计算物品的良率(python)
  8. Unity 画面质量设置
  9. python处理svg_用Python/PIL读取SVG文件
  10. 微信里的网址链接域名如何自动跳转到外部浏览器访问源码