在Axis2 SAAJ中使用附件缓存

时间:2013-03-05 12:39:36

标签: java axis2 mtom saaj

我正在升级应用程序内的现有SOAP堆栈(客户端和服务器端),以通过使用SOAP附件(SwA或MTOM)来支持二进制内容。 现有的代码库广泛利用SAAJ,并使用Axis2(原样1.5.6)实现。 (应用程序的其他部分已经使用Axis2,因此坚持使用它似乎是合理的。)

通过SAAJ API构建SOAPMessage(添加Nodes,Elements,SOAPAttachments实例......)一切正常。序列化的SOAPMessage确实是一个正确的xop / mtom消息。

当通过Axis2的MessageFactory将这样的Message作为InputStream解析时,我的问题就出现了(不,我们不使用AxisServlet / Endpoint,我们有时会直接解析原始流)。 它工作(我得到一个功能等效的SOAPMessage实例),但我希望Axis2使用(公理的底层)附件缓存功能,以便不将附件读入主内存,我不能让这种情况发生。

根据我对Axis2在axis-saaj.jar中的实现的理解,似乎SOAPMessageImpl是硬编码的,用于在没有启用缓存功能的情况下实现Axiom Attachments实例,看起来没有可配置的方式(轴conf文件,系统属性, messagefactory的专有扩展,无论......改变这种行为。

我错过了什么吗?有没有办法使用带有附件缓存的轴-aaj(或从InputStream到SOAPMessage实例的任何其他方式)? 我无法找到关于axis2-saaj的文档,到目前为止Axis User ML对此保持沉默。

谢谢!

0 个答案:

没有答案