我使用 wsdl2java 为使用 soaplib 0.8.2 (python) 开发的 Soap 服务生成了一个 WS 客户端。服务器确实支持带有附件的 Soap,正如我在 tcpdump 中看到的那样,同时使用了同样使用 soaplib 构建的客户端。但是对于 Java,生成的客户端不会将附件作为其他部分发送,而是作为 base64 二进制文件嵌入到 xml 中。
我想知道如何设置 java 客户端以便将附件作为部分发送而不嵌入在 xml 中?
你需要设置
stub._getServiceClient().getOptions().setProperty(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
有关详细信息,请参阅此博客 [1]。
[1] http://amilachinthaka.blogspot.com/2009/01/using-mtom-with-axis2.html