如何MTOM工作+示例代码
我试图做一个非常简单的网络服务,执行以下操作:如何MTOM工作+示例代码
- 客户端点击web服务请求的文件。
- Web服务的服务类查询散列表,其中包含关键字(搜索查询)和值作为文件的base64编码值(比如pdf)
- 现在,我需要使用MTOM返回存储的base64编码值在散列表中给客户端。
这是由客户端解码并将其转换为pdf。
所以,这里是我的问题:
我明白,我们的文件编码为Base64为通过网络传输业务,但如果和如何MTOM来到这个画面呢?
有人可以给我一个简单的方法,它使用MTOM并发回数据。我们是否需要在WSDL中指定某些内容?或者一个简单的String返回类型就足够了?为什么/为什么不?
感谢
我已经看到了这code。它使用了很多注释,我只需要使用MTOM的简单Java代码。新到J2EE在这里:)
更新1
足够体面的解释here,现在我需要从执行层面上理解它。 良好的信息here,但对于.NET
更新2
应该用什么方法 “createMTOM(INT ID)” 的返回类型?
你似乎在混合实现和协议。
如果您使用的是JAX-WS环境,那么最确定的是使用Annotations
来打开它。如果您手动滚动soap消息,则可以编写任何需要编写的Java代码来生成它。本质上,MTOM意味着数据的内容移动到一个附件中,该附件是消息的一个单独的MIME部分,并且通过xop引用:包含具有href的MIME部分的元素。
模式必须将base64Binary声明为元素类型,但其他属性提供了有关字节解释的提示:xmime:contentType和xmime:expectedContentType。根据我的经验,JAX-B参考实现对这些使用有一些限制。例如,你不能自动将文本来回地转换为字节。在CXF或Glassfish等典型工具包中,您将数据放入DataHandler中,工具包将其转换为附件。
一个很好的详细示例/讨论在IBM红皮书提供:开发Web服务应用程序,请参见64-74页