问题描述
我正在一个项目上,该项目正在调用Web服务来添加附件和获取附件。
我使用cxf客户端和spring boot,我的wsdl合同对附件使用二进制变量,该附件使用字节数组发送和接收二进制,我在代码中启用了Mtom,并在cxf客户端中添加了启用了mtom的属性。
我成功地将映像添加到服务器并能够验证。
但是,当我尝试通过调用Web服务来获取附件时,得到的所有变量(字节数据除外)都作为响应。但是,当我查看日志时,会看到信封外面的附件。
我也通过soap ui进行了检查,并能够通过soapui提取附件。但我不确定为什么没有附件填充字节字段,因为有响应。
我也遵循了cxf文档,并将字节更改为Datahandler,但同样,我可以成功上传到服务器,但是在获取时,我没有用响应的二进制数据填充对象。
我正在使用cxf和spring boot。我是Mtom的新手,不确定为什么cxf找不到附件,也没有从响应中加载它。
以下是我根据日志得到的响应:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><ABCResponse message="Success" ><model><attachments><cmn:attachment href="cid:5f75fbe04c8e5001e2936798" len="28027" name="ABC.PNG" type="application/octet-stream" xmime:contentType="application/octet-stream"/></attachments></instance></model></ABCResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
------=_Part_190_12732427.1601696371077
Content-Type: application/octet-stream
Content-Location: ABC.PNG
Content-ID: <5f75fbe04c8e5001e2936798>
Content-transfer-encoding: binary
�PNG
IHDR � � $\X� sRGB ��� gAMA ���a pHYs � ��o�d mIDATx^�ە$;˵�My
jsڙ�cߖ-���
------=_Part_190_12732427.1601696371077--
不确定为什么cxf找不到它。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)