我已经安装了 Adobe LiveCycle for Weblogic 10.3.4,当我尝试访问它部署的其中一个 Web 服务时,出现以下异常:
异常 - java.lang.LinkageError:加载器约束违规:解析接口方法“javax.wsdl.Definition.getBinding(Ljavax/xml/namespace/QName;)Ljavax/wsdl/Binding;”时,当前类 org/apache/axis/wsdl/fromJava/Emitter 的类加载器(weblogic/utils/classloaders/ChangeAwareClassLoader 的实例)和已解析类 javax/wsdl/Definition 的类加载器(sun/misc/Launcher$AppClassLoader 的实例)对于签名中使用的 javax/xml/namespace/QName 类型具有不同的 Class 对象
我既不是 WebLogic 专家也不是 Java 专家,所以我正在寻找这方面的线索 - 可能是什么问题以及如何解决,最重要的是 - 什么可能导致这个问题?
答案1
您的应用程序中捆绑的 Web 服务实现与 Weblogic 自己的实现之间可能存在冲突。看起来 Apache axis 被用来构建应用程序。Weblogic 将尝试使用它自己的实现。应用程序可能是使用不同的 Web 服务规范版本开发的,或者捆绑了 Axis。我不知道 Adobe LiveCycle 使用什么。它可能不兼容。可能值得尝试在没有内置 Web 服务实现的东西(可能是 Tomcat)中部署应用程序。