WebService是一个应用程序,是能够用编程的方法通过Web调用来实现某个功能的应用程序,支持的协议HTTP,TCP/IP,SMTP等。这就很好解析网上的天气预报等等数据的服务是怎么获取的了,就是用WebService实现的。
WebService的开发步骤有两步 1:建立服务并且发布 2:建立客户端程序,调用服务
一。创建服务器
(1)建立接口与实现类
(2)引入XFire的jar包. Core.jar, common-loggin, jdom, spring-1.2.6, wsdl4j, xbean-2.2.0, xbean-spring-2.8, xfire-all, xfire-spring-1.2.6
(3)在/META-INF/xfire/services.xml中配置服务.
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>服务名</name>
<namespace>命名空间</namespace>
<serviceClass>
接口全路径
</serviceClass>
<implementationClass>
实现类全路径
</implementationClass>
</service>
</beans>
(4)访问测试这个服务发布是否成功: http://localhost:8080/项目名/services/服务名?wsdl
注意wsdl最后的地址: <wsdlsoap:address location="http://localhost:8080/WebServiceTest1/services/helloworld"/>
部分截圖如下:
接口以及實現類如下
接下來就是測試發佈是否成功啦,發佈其實也很簡單的,測試http://localhost:8080/项目名/services/服务名?wsdl。
好的,到此呢服务端就算做完啦,接着是客户端的操作。
首先我们要把刚刚写的那个服务打包成jar包,当然这样写的话并不能跨平台的了,因为并不是所有的语言都支持jar的。
创建客户端的步骤有以下几步:
(1)导出服务器端的接口jar文件.
(2)引入XFire的jar包. Core.jar及HTTP Client包
(3)创建servlet调用服务.
Service servicemodel=new ObjectServiceFactory().create(接口名.class);
XFire xfire=XFireFactory.newInstance().getXFire();
XFireProxyFactory factory=new XFireProxyFactory(xfire);
String url="服务地址";
接口名 i=null;
i=(接口名)factory.create(servicemodel, url);
//调用方法
首先打我们要引入相应的包,,截图如下:
其中的res.jar包就是我的服务器端的接口jar文件。
接着就是要创建servvlet调用服务啦,其实具体步骤在上面也已经讲过的了,如下;
拿到的数据如下:
总 的来说其实我们能够发布webservice的机会并不多的,大多数都调用别人的服务,但是作为一个IT人员,如果对原理都不熟悉的话,那就真的有点说不过去了。。。