CXF入门教程(4) -- 设置上下文连接属性
2014-02-19 14:08
295 查看
http://blog.csdn.net/liuxiaogangqq/article/details/19345439
CXF入门教程(4) -- 设置上下文连接属性
分类: webSerive2014-02-1718:06 11人阅读 评论(0) 收藏 举报
webService
目录(?)[+]
我们可以使用 JAX-WS 上下文来自定义客户端代理的属性。特别地,上下文可以用来修改连接属性以及通过协议头发送数据。例如,我们可以用上下文添加一个SOAP头,请求消息和响应消息都可以添加。客户端支持下列类型的上下文:
Request context(请求上下文) - 在客户端,请求上下文使我们能够设置影响出站消息的属性。请求上下文属性是应用到特定端口实例的,并且一旦设置了这些属性,它们将对该端口随后做出的每一个操作调用都有效,直到某属性被显式地消除。例如,我们可以使用请求上下文属性来设置连接超时,或在数据头中初始化要发送的数据。
Response context(响应上下文) - 在客户端,我们可以获取响应上下文来读取属性值,这些值是由上一次操作调用的入站消息设置的。每一次操作调用之后,响应上下文属性都会被重置。例如,我们可以获取一个响应上下文属性来读取从上一条入站消息的数据头消息。
设置请求上下文
要设置一个特殊的请求上下文属性 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<String, 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支持下列上下文属性:上下文属性名 | 上下文属性类型 |
---|---|
org.apache.cxf.ws.addressing.JAXWSAConstants.CLIENT_ADDRESSING_PROPERTIES | org.apache.cxf.ws.addressing.AddressingProperties |
相关文章推荐
- CXF入门教程(4) -- 设置上下文连接属性
- CXF入门教程(4) -- 设置上下文连接属性
- MS SQL入门基础:数据库属性设置
- php入门教程之Zend Studio设置与开发实例
- SDL入门教程(一):3、MinGW 下的安装与设置
- SQLSetConnectAttr — 设置连接属性
- CCS4 入门教程、TI内部教程、开发环境设置等
- Cassandra driver 入门教程 (二) 异步调用连接数据库
- CXF 基础教程-------入门示例
- jQuery 入门教程(17): 读写HTML元素的css 属性
- ios app开发属性设置基础教程
- 关于把C程序连接到核心的设置, --核心开发入门
- winXp网络的连接速度设置与双工设置方法(图解教程)
- jQuery 入门教程(17): 读写HTML元素的css 属性
- delphi7 中如何调用系统的“数据链接属性”来设置数据连接
- WCF入门教程(三)属性标签
- CXF入门教程
- Android入门教程之--按钮颜色设置
- Python入门学习教程:数据库操作,连接MySql数据库