开发者关于 JAX-RPC 的介绍,第 2 部分: 研究 JAX-RPC 的规范提高 Web 服务互操作性
2009-11-07 00:00:00 来源:WEB开发网清单 7告诉您怎样扩展您的服务实现类来支持生命周期管理以及怎样使用服务上下文。
清单 7. 服务上下文接口Public interface BookSearchServiceImpl implements java.rmi.Remote, javax.xml.rpc.server.
ServiceLifecycle {
public void init(Object context) throws ServiceException{
ServletEndpointConext sC = (ServletEndpointConext)context;
Java.security.Principal userPrinciple = sC. getUserPrincipal();
HttpSession session = null;
Try{
session = sC.getHttpSession();
}catch(JAXRPCException e){ // Not an HTTP based
//endpoint
}
MessageContext ctx = sC.getMessageContext();
}
public void destroy(){
}
public Books[] searchForBooks(String authorName)
throws java.rmi.RemoteException, com.acme.InvalidAuthor{
return null;
}
}
消息处理程序
现在我们来考虑一下 JAX-RPC 规范的最强大的功能, 消息处理程序。消息处理程序向 Web 服务端点(客户机和服务器)提供了附加的消息处理功能,作为对基本服务实现逻辑的扩展。处理程序可以处理加密和解密、日志记录和审计等。当前的 JAX-RPC 运行时系统仅仅定义了 SOAP 消息处理程序,但是它可以很灵活的定义其他处理程序,而且不需要任何消息处理模型。
更多精彩
赞助商链接