FeaturesPluginsDocs & SupportCommunityPartners

通过 Web 服务传递二进制数据,第 7 部分:日志和优化服务

JAX-WS 提供了一种方便快捷的方法来优化二进制数据传输。这种方法叫做“消息优化”(message optimization),由消息传输优化机制 (Message Transmission Optimization Mechanism,MTOM) 提供。消息优化是指以最高效的方式传输 Web 服务消息的过程。在 Web 服务通信中实现这一点的方式是,在传输前编码消息,然后在它们到达最终目的地之后对其进行解码。MTOM 使用 XOP(XML-binary Optimized Packaging,XML 二进制优化打包)将二进制数据传入和传出 Web 服务。正如本文和 此处 所描述的那样,Web 服务设计器使您可以轻松启用 MTOM。

本系列教程

本页中的内容适用于 NetBeans IDE 6.1
  1. 概述
  2. 创建 EJB 模块
  3. 创建 Web 服务
  4. 测试 Web 服务
  5. 修改模式和 WSDL 文件传递二进制数据
  6. 创建 Swing 客户机
  7. => 日志和优化 Web 服务

日志和优化 Web 服务

为了以后能验证 MTOM 运行正常,首先要在服务器上设置一个日志机制。这使您可以监视请求和响应消息,而无需更改客户机代码。将系统属性 -Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true 传递到服务器,这样您就可以监视 Web 服务发送到客户机以及从客户机接收的 SOAP 消息和 HTTP 头。

要日志和优化 Web 服务,请执行以下操作:

  1. 从“服务”窗口中服务器的节点打开管理控制台,如下所示:
    使用 ws 的 Java 应用程序

    “管理控制台”将在浏览器中打开。输入您的用户名和密码并按下回车键。

  2. 在“管理控制台”中,使用“JVM 选项”部分(如下所示)在服务器中设置此属性:
    -Dcom.sun.xml.ws.transport.http.HttpAdapter.dump=true

    使用 ws 的 Java 应用程序
  3. 在“服务”窗口中,重启服务器。
  4. 当服务器启动时,注意“输出”窗口,确保可以在其他服务器输出中看到该属性,如下所示:
    使用 ws 的 Java 应用程序
  5. 将该企业应用程序重新部署到 Tester 应用程序,通过 Tester 应用程序调用一个操作,并再次注意“输出”窗口,显示 HTTP 请求和响应,因为您在前面的步骤中启用了日志机制:
    使用 ws 的 Java 应用程序

    使 HTTP 日志正常运行后,我们将优化图像的消息传输。

  6. 在 Web 服务Visual 设计器中打开 Web 服务,并选择“优化二进制数据传输 (MTOM)”:
    使用 ws 的 Java 应用程序
  7. 在“服务”窗口中,重启服务器。
  8. 当服务器启动时,在“输出”窗口中注意以下内容:
    使用 ws 的 Java 应用程序

    如“输出”窗口中高亮显示的行所示,通过使用 MTOM,我们确保 SOAP 体不包含二进制数据。而是将其作为一个 SOAP 附件发送,该附件包含在 SOAP 消息中。



  9. 更多信息

    有关使用 NetBeans IDE 6.1 开发 Java EE 应用程序的更多信息,请参见以下资源:

    要发送意见和建议,获取支持,了解关于 NetBeans IDE Java EE 开发特性的最新发展,请加入 邮件列表

Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by