我们的应用程序使用SOAP将文件附件发送到Web服务。该服务正在Oracle Service Bus 11g上运行。我们在客户端上使用Spring WS + SAAJ + MTOM
来发送请求。
应用程序在本地和tomcat服务器上运行正常,但是,当我们将应用程序移动到weblogic 12c服务器(部署战争)时,我们在点击服务时会看到以下错误。
BEA-382120错误:不允许混合使用XOP / MTOM和附件!
似乎在WebLogic上部署该消息时,该消息不再启用MTOM。
========================
可能有用的一些其他信息:
Spring WS配置,使用的库: 弹簧-WS-1.5.8.jar 公地HttpClient的-3.1.jar
提前致谢。
答案 0 :(得分:1)
经过更多调查后,似乎weblogic会覆盖某些类或以某种方式混淆类路径。在我们的例子中,它是Saaj实施。我们必须将saaj-impl-1.3.20.jar
添加到我们的类路径中并且它有效。我们还升级到spring-ws 2.2.0
并将mtom设置为从xml文件启用marshaller。
您也可以在weblogic文件夹的setDomainEnv.cmd文件中添加此jar
设置EXT_PRE_CLASSPATH =%DOMAIN_HOME%\ lib \ saaj-impl-1.3.20.jar