我正在使用jax-ws cxf从SOAP接口加载文档。我可以通过SoapUI(xop / multipart)获得正确的文档。不幸的是,当我尝试通过代码加载附件时,对于大于〜210kb的文件,CachedOutputStream
为空。
我尝试了什么:
CachedOutputStream.Threshold
和CachedOutputStream.MaxSize
3.2.1
或3.1.14
)调试时:
[PhaseInterceptorChain#doIntercept
使用AttachmentInInterceptor
(在currentInterceptor.handleMessage(message);
处,该附件将LazyAttachmentCollection
加载到附件并将其添加到邮件中。
错误情况(文件太大?):调用currentInterceptor.handleMessage后可直接使用文档,但是在循环完成后消失]
但是,在以上两种情况下,正确的tmp文件都会保存到我的磁盘上(包含我文档的内容)。此外,即使循环完成时,在两种情况下我都可以加载该文件:((org.apache.cxf.attachment.LazyAttachmentCollection)(message.getAttachments())).loadAll();
我正在使用jax-ws cxf从SOAP接口加载文档。我可以通过SoapUI(xop / multipart)获得正确的文档。不幸的是,当我尝试通过代码加载附件时,...
我在apache-cxf 3.1.6中有类似的问题。问题是大于102kb的文件为空。经过一番挖掘后,结果发现它是您可以在requestContext中设置的“ attachment-memory-threshold”,出于某种原因,文件缓存似乎不起作用。