0

此问题涉及最近的 CXF 更改 (3.3.2->3.3.4)。

我们正在向我们的合作伙伴发送带有图像内容的 SOAP 请求 在 TomEE 8.0.0 (CXF 3.3.2) 上,生成的 SOAP 请求不包括 XOP 生成:

<ns3:Picture>
<ns6:Image>
<ns6:StorageFormat>JPG</ns6:StorageFormat>
<ns6:Length>13286</ns6:Length>
<ns6:Buffer>/9j/4AAQSkZJRgABAAEAlgCWAAD//gAfTE (...) VBRCB=</ns6:Buffer>
</ns6:Image>
</ns3:Picture>
<ns3:Signature>
<ns6:Image>
<ns6:StorageFormat>TIF</ns6:StorageFormat>
<ns6:Length>700</ns6:Length>
<ns6:Buffer>SUkqAAgAAAATAP4ABAABAAAAAgAAAAABBAABAA (...) AA+==</ns6:Buffer>
</ns6:Image>
</ns3:Signature>

运行代码,isMTOMEnabled() 返回 false

SOAPBinding binding = (SOAPBinding) ((BindingProvider) port).getBinding();
boolean mtomEnabled = binding.isMTOMEnabled();

在 TomEE 8.0.1 (CXF 3.3.4) 上部署了相同的战争。现在 CXF 生成(未请求的)XOP

<ns3:Picture>
<ns6:Image>
<ns6:StorageFormat>JPG</ns6:StorageFormat>
<ns6:Length>12099</ns6:Length>
<ns6:Buffer>
<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:61bc1e4b-5e7c-47ea-ae1e-fc0ce1edbdd5-1@www.astra.admin.ch"/>
</ns6:Buffer>
</ns6:Image>
</ns3:Picture>
<ns3:Signature>
<ns6:Image>
<ns6:StorageFormat>TIF</ns6:StorageFormat>
<ns6:Length>580</ns6:Length>
<ns6:Buffer>
<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:61bc1e4b-5e7c-47ea-ae1e-fc0ce1edbdd5-2@www.astra.admin.ch"/>
</ns6:Buffer>
</ns6:Image>
</ns3:Signature>

由于我们的合作伙伴无法解析 xop,如何避免包含 xop SOAP 并获​​得与之前使用 CXF 3.3.2 相同的结果?

4

0 回答 0