开发者关于 JAX-RPC 的介绍,第 2 部分: 研究 JAX-RPC 的规范提高 Web 服务互操作性
2009-11-07 00:00:00 来源:WEB开发网
清单 9. 样本处理程序Public class AcmeSOAPHeaderHandler extends GenericHandler{
Public Boolean handleRequest(MessageContext ctx){
try{
SOAPMessageContext mc = (SOAPMessageContext)ctx;
SOAPMessage msg = mc.getMessage();
SOAPPart sp = msg.getSOAPPart();
SOAPEnvelop se = sp.getEnvelop();
SOAPHeader header= se.getHeader();
// Now we can process the header
if (everything fine )
return true; // chain handlers
//continue processing
else{
//Return false results in chaining to stop
return false;
}
}catch(Exception ex){
}
}
}
服务客户机和服务上下文
客户机 JAX-RPC 的亮点之一就在于它能把上下文信息和端点的远程方法调用关联起来。注意,JAX-RPC 规范并不强求上下文信息的语义。用户可以根据 WSDL 绑定中 SOAP 头定义的显式定义它;也可以根据 WS-Security 之类的标准定义它;或者通过使用特定于绑定的细节(比如 HTTP 请求头)来定义它。
这个运行时上下文信息可以由容器或者客户机来设定。容器管理的上下文管理被称作 隐式上下文管理,而客户机管理的管理被称作 显式上下文管理。
在这里使用 隐式一词是因为在隐式上下文管理中,客户机或服务器上都不需要进行编程以支持上下文传播,这种支持是由运行时引擎提供的。这种上下文信息的示例包括安全和事务信息。
更多精彩
赞助商链接