1

我已经准备好了所有的 jars,当我在 weblogic 服务器上部署我的 application.war 文件时,它总是尝试将自己的 jars 用于 SOAPBodyElement,因此我得到了这样的异常 -

java.lang.ClassCastException:org.apache.axis.message.SOAPBodyElement 无法转换为 weblogic.xml.xmlnode.XMLNode ..

我的代码看起来像

MessageFactory mf = MessageFactory.newInstance(); 
SOAPMessage request = mf.createMessage();
SOAPPart part = request.getSOAPPart();
SOAPEnvelope env = part.getEnvelope();
SOAPBody body = env.getBody();
SOAPBodyElement soapBodyElement = new SOAPBodyElement(document);
body.addChildElement(soapBodyElement); // throws exception @ this line

只有 SOAPBodyElement 来自 org.apache.axis.message 包,其余都来自 javax.xml.soap 包。有什么方法可以在不更改启动脚本的情况下覆盖我的代码中的 weblogic 首选项。或任何其他解决方法来添加 childElement?

请帮助我。

4

1 回答 1

0

您可以通过更改 weblogic.xml(在您的战争情况下)或 weblogic-application.xml(在耳朵的情况下)来提及您的首选库。

对于 weblogic.xml,您必须将 prefer-web-inf-classes 标记设置为 true,以便它将从您的 web-inf 文件夹加载类

对于 weblogic-application.xml,您可以定义 prefer-application-packages 标签

你可以在这里参考这个问题

于 2013-10-18T13:04:23.497 回答