Web Services使我们能够在网络上建立分布式系统,应用程序组件可以通过任何平台、任何语言和任何方式访问。无论应用程序如何开发,使用了什么语言,以及运行在什么操作系统平台上,只要它作为Web Service,并且为协同解决问题而设计,那么你的应用程序,以任何语言开发或在任何平台上,都可以利用它的服务。简而言之,就是说,你可以跨平台,你可以实用别人的数据,你可以调用现成的方法,你可以得到更多的便捷,在现实的开发中。
使用webservice之前,我们且不管你是否使用了现有的框架,或者你使用的是哪个框架,我们最好先了解它的规则和构成,比如,你想写个网页,那你得先晓得<html><title><head><body>它们是要有结束的,这是基本的前提。而使用webservice的前提则没那么多,第一,你该晓得,它是以xml形式作为默认的传递格式;第二,和http协议类似,它默认是以soap(Simple Object Access Protocol)协议,封装和交换信息的;第三,WSDL(Web Services Deion Language,Web Services描述语言),它是对webservice的一种详细描述,里面包含协议啊,服务地址啊,方法列表啊,参数啊等等之类的。它返回的xml是给我们处理的,而这个wsdl则是交给机器,交给客户端程序处理的。
ok,说完上面的,大体有个印象和看法了,我们开始webservice的最佳体验。这里,我首先用xfire框架来实现在javaweb项目中的webservice的开发和调用[非javaweb的项目步骤较容易,这里就不讲了],这个xfire也是我第一次接触webservice时所使用的开源框架,所以我打算好好写写[谁让我这么念旧呢(⊙o⊙)…]。axis,axis2,cxf之类的框架至于我打算后面再看能不能写写.....
第一步,新建一个接口,IBankingService.java,这个接口即是你将模拟对外发布的接口,代码如下:
- package com.mybank.xfire.example;
- public interface IBankingService {
- public String transferFunds(
- String fromAccount, String toAccount, double amount, String currency);
- }
第二步,实现这个接口,并实现里面的方法,方便后面看效果,代码如下:
import java.text.NumberFormat;
第三步,修改web.xml,加入关于xfire的相关配置,代码如下:
- <servlet>
- servlet-name>XFireServlet</display-name>XFire Servletservlet->org.codehaus.xfire.transport.http.XfireConfigurableServlet
- servlet-mappingurl-pattern>/servlet/XFireServlet/*>/services/*>