SOAP 处理者 
处理者访问代表一个RPC请求或响应的SOAP消息。处理者类必须实现javax.xml.rpc.handler接口。处理者能够用javax.xml.soap程序包中的API操纵SOAP消息。 
下面是处理者能够执行的任务举例: 
- 加密解密 
 
- 记录日志和审计 
 
- 缓冲 
 
- 针对特定应用的SOAP消息头处理 
    
处理者链条是一系列的处理者。你可以为客户端和服务器个指定一个处理者链条:在客户端,请在jaxrpc-ri.xml文件中包含<handlerChains> 元素,在服务器端,请在config.xml文件中包含该元素。 
下面是config.xml文件中<handlerChains>元素的一个例子: 
<handlerChains>  <chain runAt="server"  
roles= "http://acme.org/auditing              http://acme.org/morphing"      xmlns:ns1="http://foo/foo-1">  
   <handler className="acme.MyHandler"  
      headers ="ns1:foo ns1:bar"/>        <property name="property" value="xyz"/>  
   </handler>  
   </chain>  
</handlerChains>  
JAX-RPC支持的Java语言类型 
 
 
JAX-RPC把Java编程语言类型映射到XML/WSDL定义。例如,JAX-RPC把java.lang.String类映射为xsd:string这个XML数据类型。作为应用程序开发人员,你需要了解这些映射的细节,但必须明白并不是所有Java 2 标准版 (J2SE)中的类都能够在JAX-RPC中被用作方法的参数和返回类型。 
J2SE SDK类 
JAX-RPC支持以下这些J2SE SDK类: 
- java.lang.Boolean 
 
- java.lang.Byte 
 
- java.lang.Double 
 
- java.lang.Float 
 
- java.lang.Integer 
 
- java.lang.Long 
 
- java.lang.Short 
 
- java.lang.String 
 
- java.math.BigDecimal 
 
- java.math.BigInteger 
 
- java.util.Calendar 
 
- java.util.Date 
    
这个版本的JAX-RPC还支持几个java.util.Collection接口的实现类。下表显示了被支持的类。第一列列出了java.util.Collection的子接口,第二列列出了该子接口支持的类。 
支持的类 
 
| 
    java.util.collection子接口  | 
 支持的类  |  
| 
 List  | 
 Array List LinkedList Stack Vector  |  
| 
 Map  | 
 HashMap Hashtable  Properties TreeMap  |  
| 
 Set  | 
 HashSet TreeSet  |   
基本类型 
JAX-RPC支持以下的Java编程语言基本类型: 
- boolean 
 
- byte 
 
- double 
 
- float 
 
- int 
 
- long 
 
- short 
    
数组 
JAX-RPC还支持成员是JAX-RPC支持类型的数组。例如支持数组int []和String []。而且还支持多维数组,例如BigDecimal [][]。 
应用程序类 
JAX-RPC还支持为应用程序编写的类。例如,在一个订单处理应用程序中你可能提供了名为Order、LineItem、和Product的类。JAX-RPC规范把这些类当作值类型引用,因为他们的值(或状态)可以在客户端与远程服务之间当作参数或返回值被传递。 
为了能被JAX-RPC支持,应用程序类必须符合以下规则: 
- 它必须拥有一个默认的构造函数。 
 
- 它必须没有实现(直接或者间接)java.rmi.Remote接口。 
 
- 它的成员必须是JAX-RPC支持类型。 
    
类中可能含有公共的、私有的、或是保护的成员。为了在远程调用中传递(或返回)它的值,该成员必须满足以下要求: 
- 公共成员不能是final或者transient类型的。 
 
- 非公共成员必须有相应的getter和 setter方法。 
    
JavaBeans组件 
JAX-RPC还支持JavaBean组件,它们必须符合与应用程序类相同的一系列规则。而且,JavaBean组件还必须为每个bean属性提供getter和setter方法。Bean属性的类型必须是JAX-RPC支持的类型。   
 
  |