我正在尝试创建一个肥皂客户端,它将需要从政府托管的服务中连接和下载文件。该服务使用WS-Security,并将文件作为附件与MTOM一起传输。

我尝试了一些SOAP库,并进行了搜索,但是找不到任何暗示有Java库能够执行此操作的信息。

有任何想法吗?

我试过了:
  具有WSS4J的CXF,
  带有Rampart的AXIS2

谢谢

最佳答案

MTOM使用XOP以便从信封中提取二进制内容,并为其添加引用,以这种方式,肥皂信封要轻得多,因此解析/处理速度更快。

出于这个原因,在肥皂包封内,您会发现结构为(仅带有引用)

<m:photo xmlmime:contentType='image/png'>
    <xop:Include xmlns:xop='http://www.w3.org/2004/08/xop/include'
                 href='cid:http://example.org/me.png'/>
</m:photo>


由于二进制内容不在肥皂消息之内,因此WS-Security将无法使用它。

09-27 02:44