CXF入门教程(4) -- 设置上下文连接属性
我们可以使用 JAX-WS 上下文来自定义客户端代理的属性。特别地,上下文可以用来修改连接属性以及通过协议头发送数据。例如,我们可以用上下文添加一个SOAP头,请求消息和响应消息都可以添加。客户端支持下列类型的上下文:
设置请求上下文要设置一个特殊的请求上下文属性?ContextPropertyName,其值为?PropertyValue?可以用下面的代码:
Setting a Request Context Property on the Client Side
// Set request context property. java.util.Map<String,Object> requestContext = ((javax.xml.ws.BindingProvider)port).getRequestContext(); requestContext.put(ContextPropertyName,PropertyValue); // Invoke an operation. port.SomeOperation(); 我们需要将端口对象映射为?javax.xml.ws.BindingProvider?,以此来获取请求上下文。请求上下文本身是一个?java.util.Map<String,Object> 类型,也就是一个有着String类型的“键”和任意类型的“值”的哈希表。使用?java.util.Map.put()?在哈希表中创建一个新的条目。 读取响应上下文要检索一个特定的响应上下文属性?ContextPropertyName?使用如下代码:
Reading a Response Context Property on the Client Side
// Invoke an operation. port.SomeOperation(); // Read response context property. java.util.Map<Object> responseContext = ((javax.xml.ws.BindingProvider)port).getResponseContext(); PropertyType propValue = (PropertyType) responseContext.get(ContextPropertyName); 响应上下文的类型是?java.util.Map<String,Object>?,也是一个有着String类型的“键”和任意类型的“值”的哈希表。我们可以使用?java.util.Map.get()?来获取响应上下文属性哈希表中的一个条目。 受支持的上下文类型CXF支持下列上下文属性:
本文参考自:
http://cxf.apache.org/docs/developing-a-consumer.html
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |