通过 Web 服务传递二进制数据,第 7 部分:日志和优化服务
JAX-WS 提供了一种方便快捷的方法来优化二进制数据传输。这种方法叫做“消息优化”(message optimization),由消息传输优化机制 (Message Transmission Optimization Mechanism,MTOM) 提供。消息优化是指以最高效的方式传输 Web 服务消息的过程。在 Web 服务通信中实现这一点的方式是,在传输前编码消息,然后在它们到达最终目的地之后对其进行解码。MTOM 使用 XOP(XML-binary Optimized Packaging,XML 二进制优化打包)将二进制数据传入和传出 Web 服务。正如本文和 此处 所描述的那样,Web 服务设计器使您可以轻松启用 MTOM。
本系列教程
- 概述
- 创建 EJB 模块
- 创建 Web 服务
- 测试 Web 服务
- 修改模式和 WSDL 文件传递二进制数据
- 创建 Swing 客户机
- => 日志和优化 Web 服务
日志和优化 Web 服务
为了以后能验证 MTOM 运行正常,首先要在服务器上设置一个日志机制。这使您可以监视请求和响应消息,而无需更改客户机代码。将系统属性 -Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true 传递到服务器,这样您就可以监视 Web 服务发送到客户机以及从客户机接收的 SOAP 消息和 HTTP 头。
要日志和优化 Web 服务,请执行以下操作:
- 从“服务”窗口中服务器的节点打开管理控制台,如下所示:
“管理控制台”将在浏览器中打开。输入您的用户名和密码并按下回车键。
- 在“管理控制台”中,使用“JVM 选项”部分(如下所示)在服务器中设置此属性:
-Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true
- 在“服务”窗口中,重启服务器。
- 当服务器启动时,注意“输出”窗口,确保可以在其他服务器输出中看到该属性,如下所示:
- 将该企业应用程序重新部署到 Tester 应用程序,通过 Tester 应用程序调用一个操作,并再次注意“输出”窗口,显示 HTTP 请求和响应,因为您在前面的步骤中启用了日志机制:
使 HTTP 日志正常运行后,我们将优化图像的消息传输。
- 在 Web 服务Visual 设计器中打开 Web 服务,并选择“优化二进制数据传输 (MTOM)”:
- 在“服务”窗口中,重启服务器。
- 当服务器启动时,在“输出”窗口中注意以下内容:
如“输出”窗口中高亮显示的行所示,通过使用 MTOM,我们确保 SOAP 体不包含二进制数据。而是将其作为一个 SOAP 附件发送,该附件包含在 SOAP 消息中。
更多信息
有关使用 NetBeans IDE 6.1 开发 Java EE 应用程序的更多信息,请参见以下资源:
要发送意见和建议,获取支持,了解关于 NetBeans IDE Java EE 开发特性的最新发展,请加入 邮件列表。