JAX-WS Web Service |
|
|
![]() |
|
运行 | 配置 | 技术说明 | Javadoc | 使用 Ant 构建 |
入门 |
查找源代码 |
查看编码注意事项 |
此样本说明了如何使用 SOAP 消息传输优化机制(MTOM)来通过 JAX-WS Web Service 传输二进制文件。
MTOM 服务样本实现了一个将文件的二进制内容返回到客户机的 Web Service。该样本包含一个 servlet 客户机(org.apache.axis2.jaxws.sample.servlet.SampleServlet)和一个 MTOM 服务瘦客户机应用程序(org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests)。服务客户机 servlet 和瘦客户机应用程序使用公共代码,以便在 SampleMTOMTests.java 源文件中通过基于分派和代理的客户机来使用服务。
带注解的 MTOM 服务样本客户机 servlet 和瘦客户机应用程序的 Java 代码位于 profile_root/samples/src/JaxWSServicesSamples/SampleMTOMClient/src 目录。
MTOM 服务应用程序的 Java 代码位于 profile_root/samples/src/JaxWSServicesSamples/SampleMTOMService/src 目录。
在 z/OS 操作系统上:z/OS 操作系统上未提供这些 JAX-WS 样本的源代码树,原因是 z/OS 操作系统上没有构建这些样本应用程序。
MTOM 服务样本是根据两个定义服务的 Web 服务描述语言(WSDL)文件使用 Rational Application Developer 工具生成的。所提供的其中一个服务端点使用 SOAP 1.1,而另一个服务端点使用 SOAP 1.2。服务器根据内容类型自动标识 MTOM 优化的入局消息并相应地将这些消息进行反序列化处理。因此,MTOM 服务样本中没有显式代码来处理服务中的 MTOM。
但是在客户端,必须在启用服务事务之前启用 MTOM。在 MTOM 服务瘦客户机应用程序 org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java 的 testMtomWithDispatch 和 testMtomWithProxy 方法中,绑定上存在对 setMTOMEnabled 方法的调用。在调用此方法之后,外发消息会被序列化并作为 MTOM 优化的消息发送。如果绑定时未设置 setMTOMEnabled 方法,那么二进制内容节点中的所有二进制数据将被序列化为基本 64 位编码的字符串。
客户机 servlet(org.apache.axis2.jaxws.sample.servlet.SampleServlet.java)没有特定于服务的代码,它调用 SampleMTOMTests.java 文件中提供的方法。
此样本中提供的客户机使用分派和代理编程模型来调用 MTOM 服务。客户机演示了如何访问分派和代理方法。
有关为 JAX-WS Web Service 启用 MTOM 的更多信息,请访问 WebSphere Application Server 信息中心库。