正 文

使用处理链处理WEB服务中的请求/响应消息


www.7dspace.com  更新日期:2006-1-12 2:58:53  七度空间


        以下就是余额查询的代码,是一个非常简单的服务返回给出已知帐号的余额。

BalanceEnquiryService.java
public class BalanceEnquiryService
{
   public float getBalance(String accountNo)
   {
      if(accountNo.equals("12345"))
         return 5000f;
      else
         return 100f;
   }
}

       WEB服务中的web-service.xml 必须要修改为包含处理链的描述,下面几个部分需要在web-service.xml 中修改的:

1)在<web-services> 的根元素中创建一个<handler-chains> 子元素,在这个子元素中包含了WEB服务中一系列处理链程序的定义。

2) 创建<handler-chains>的子元素<handler-chain> ,在这个子元素中,显示了所有处理链中的处理程序。对于每一个处理程序,使用类名必须指定 java类的全限定名以便实现处理程序。使用<init-params>元素来指定处理程序的初始化参数。

<handler-chains>
   <handler-chain name="myChain">
      <handler class-name="myHandlers.handlerOne" />
      <handler class-name="myHandlers.handlerTwo" />
      <handler class-name="myHandlers.handlerThree" />
   </handler-chain>
</handler-chains>

3.使用<operations>(它本身是<web-service> 的子元素)的子元素<operation>元素,来详细说明处理链是WEB服务中的一个操作。

注意:处理链只是自执行的,没有后台组件参与执行,在这中情况下,只要使用处理链属性中的<operation>元素并且并不需要指定组件或方法的属性,就像下面所选其中的一部分:

<web-service>
   <operations>
      <operation name="chainService"
                 handler-chain="myChain" />
   </operations>
</web-service>

      这里有一个完整的WEB.xml的例子:

web-service.xml
<web-services xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <handler-chains>
      <handler-chain name="AuthenticationHandlerChain">
         <handler class-name="AuthenticationHandler" />
      </handler-chain>
   </handler-chains>
   <web-service name="BalanceEnquiryService"
                uri="/BalanceEnquiryService"
                targetNamespace="http://www.bea.com">
      <components>
         <java-class name="jccomp0"
                     class-name="BalanceEnquiryService">
         </java-class>
      </components>
      <operations>
         <operation method="getBalance"
                    handler-chain="AuthenticationHandlerChain"
                    component="jccomp0">
            <params>
               <param name="param0" class-name="java.lang.String"
                                    style="in" type="xsd:string" />
               <return-param name="result"
                             class-name="java.lang.Float"
                                           type="xsd:float" />
            </params>
         </operation>
      </operations>
   </web-service>
</web-services>

      这里面处理链的名字叫做AuthenticationHandlerChain,这里面包含了一个 AuthenticationHandler处理程序,注意,在操作中包含了操作属性handler-chain= "AuthenticationHandlerChain".

5页,页码:[1] [2] [3] [4] [5] 

上一篇:世界上最优秀的二十款防火墙简介
下一篇:集群的负载均衡技术
标题:使用处理链处理WEB服务中的请求/响应消息 作者:xzzhouhu 来源:matrix ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐