自己动手编写Web服务工具[执行]

如果说大家上个小例子已经成功在自己机器上测试了,那接下来的 Web 服务执行应该很好展开了。

说明:本篇blog只对程序的运行情况做有关的介绍,与这个程序有关的技术细节,请大家参考那篇我跟代码一起上传的文章:使用SAAJ 和JAXM的 SOAP客户端及服务。

下面对我已经完成的带执行功能的小例子所用到的类做一个简单的解释,详细的过程大家可以自己运行调试,查看运行过程中的有关输出,从而把握住整个思路。

下面看到的testSAAJ()方法是新加到之前的WSClient类里的一个方法,它是在解析完WSDL文档之后,用来测试执行Web服务的:自己动手编写Web服务工具[执行]_第1张图片

<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 452.25pt; HEIGHT: 248.25pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5Cgaolinb%5CLOCALS~1%5CTemp%5Cmsohtml1%5C04%5Cclip_image001.png" o:title="未命名"></imagedata></shape>

<shape id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 409.5pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5Cgaolinb%5CLOCALS~1%5CTemp%5Cmsohtml1%5C04%5Cclip_image003.png" o:title="未命名2"><font size="3"></font></imagedata></shape>

执行Web服务的类结构如下图所示:

自己动手编写Web服务工具[执行]_第2张图片

如上图所示:wsclient.util包是用来解析,执行Web服务,其中包含了解析WSDL文档,构建SOAP客户端的详细代码。

对这个包里的每个类的职责,我已经做了说明,如下图所示:

自己动手编写Web服务工具[执行]_第3张图片

<shape id="_x0000_i1027" style="WIDTH: 414.75pt; HEIGHT: 285.75pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5Cgaolinb%5CLOCALS~1%5CTemp%5Cmsohtml1%5C04%5Cclip_image005.png" o:title="未命名4"><font size="3"></font></imagedata></shape>

运行之前先看看我们所测试的Web服务的有关情况:

这是在网上找到的一个QQ Web服务(第一次连接时可能会由于网络原因出现连接异常,重新试就行了)

支持下列操作。

· Mobile
手机号码查询,输入手机号码,返回一个字符串表示地区

· CHINA_Weather
天气早知道,输入的中国或者世界大中小城市名称,如:温州,东京。返回一个一维数值,共有七个元素,从[0][8]分别表示城市,日期,天气图形地址,天气,温度,风,紫外线,空气质量

· IP
IP地址查询,输入一个IP地址,如:135.251.56.85,返回一个字符串,表示地区

· QQ_Online
判断QQ在否在线,接收一个QQ号码,返回一个图片地址,能用图片你就可以知道QQ是否在线!

· Send_qq
接收一个QQ号码,返回一个连接地址,在浏览器中输入这个地址就可以发送QQ消息

经过测试CHINA_WeatherQQ_Online这两个操作目前有限制,也是收费的,必须跟Web服务作者联系。所以我在代码里面测试的是Mobile,跟IP操作大家也可以试下其它操作,SOAP消息返回会提示说如果要执行这个操作就联系作者。

运行本例子

运行本例子很简单,其实跟之前的解析小例子差不多,只不过这次更简单的是,已经找到了一个现在的好用的Web服务,即上面说的QQ Web服务,所以就省去了自己布暑Web服务端的步骤。

1. 下载所有代码

下载地址为:http://download.csdn.net/source/177671

2. 运行

自己动手编写Web服务工具[执行]_第4张图片

<shape id="_x0000_i1028" style="WIDTH: 415.5pt; HEIGHT: 192pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5Cgaolinb%5CLOCALS~1%5CTemp%5Cmsohtml1%5C04%5Cclip_image007.png" o:title="未命名6"><font size="3"></font></imagedata></shape>

先解压下载的文件,如上图所示,其中,使用SAAJ JAXM SOAP客户端及服务.doc”是在本文开头时提到的那篇文章,这是一篇介绍如何使用SAAJ,JAXM构建SOAP客户端及服务端的文章,在这里可以供我们参考的是客户端的构建。基于Eclipse的工程文件文件夹放的是Eclipse的工程文件。把这个导入到Eclipse然后解决Jar包的依赖关系,接下来就可以运行了,下面是运行结果截图:

自己动手编写Web服务工具[执行]_第5张图片
……
自己动手编写Web服务工具[执行]_第6张图片

你可能感兴趣的:(eclipse,Web,qq,F#,SOAP)