WEB开发网
开发学院软件开发Java 在 Apache Geronimo 应用程序中实现和部署 Web 服... 阅读

在 Apache Geronimo 应用程序中实现和部署 Web 服务

 2010-03-26 00:00:00 来源:WEB开发网   
核心提示: 注意,文档/包装样式中的 wsdl-message-part-name 提供了元素名,在 Apache Geronimo 应用程序中实现和部署 Web 服务(6),而不是消息部分本身的名称,另一个问题是,这是目前将数据传输到 Web 服务后端 servlet 的惟一一种可靠的方式,Web 服务后

注意,文档/包装样式中的 wsdl-message-part-name 提供了元素名,而不是消息部分本身的名称。

另一个问题是,wscompile 为返回类型是 void 的方法的返回值生成 JAX-RPC 映射(在 wsdl-return-value-mapping 元素中描述)。这些 wsdl-return-value-mapping 元素应该删除(否则在部署期间会抛出 NullPointerException)。正确的行为在 Web services for J2EE, Version 1.0 规范中还不明确(单向方式在这里不适合,因为调用可能失败,所以结果对于客户机很重要)。

部署 Web 服务

在下一步中,应该开发 webservices.xml 部署描述符。它将 WSDL、JAX-RPC 映射、处理程序和后端实现 bean 结合在一起。

为了演示 Web 服务处理程序的使用,我们实现了 WS-Security 的一部分功能。因为处理程序在方法级授权之后执行,所以处理程序不能直接用于身份验证(例如,这个业务逻辑 bean 无法公开为通过定制的处理程序执行身份验证的 Web 服务)。所以,在这个例子中,Web 服务代表外观,后端 bean 不要求授权。在执行时,这个 bean 获得安全处理程序捕获的凭证,执行手工身份验证,并以经过身份验证的客户机的身份调用 BusinessLogic EJB 方法。

服务器端处理程序在 webservices.xml 中指定。这个处理程序是一个实现 javax.xml.rpc.handler.Handler 接口的类。这个处理程序类的实例用于过滤所有到达的请求、发出的响应和错误。

客户端处理程序在 web.xml 部署描述符中的服务引用中指定。

服务器处理程序 WSSecurityServerHandler 被开发成示例应用程序的一部分,它从到达的 SOAP 请求中提取用户名和密码,并将它们放到线程本地变量中。这是目前将数据传输到 Web 服务后端 servlet 的惟一一种可靠的方式。Web 服务后端 servlet 使用这些凭证进行身份验证,并使用 Geronimo 特定的身份验证代码以经过身份验证的主体的身份调用 BusinessLogic EJB [因为只使用 Java Authentication and Authorization Service(JAAS)身份验证是不够的]。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:Apache Geronimo 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接