【问题标题】:How to resolve java.lang.VerifyError: JVMVRFY012 stack shape inconsistent; class=com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl如何解决 java.lang.VerifyError: JVMVRFY012 堆栈形状不一致;类=com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl
【发布时间】:2016-08-23 21:33:15
【问题描述】:

从 SOAP 客户端调用基于 SOAP 的 Web 服务时出现以下错误。此 WebService 部署在带有 IBM JDK 7.0 的 Websphere 8.5.0 中。但是,当我使用 IBM JDK 6.0 在 WAS 中部署相同的耳朵时,我能够成功调用并获得来自相同 WebService 的响应。任何有关如何解决此问题的输入将不胜感激。

java.lang.VerifyError: JVMVRFY012 堆栈形状不一致; class=com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl, 方法=createDocumentFragment()Lorg/w3c/dom/DocumentFragment;, pc=5 在 java.lang.J9VMInternals.verifyImpl(Native Method) 在 java.lang.J9VMInternals.verify(J9VMInternals.java:94) 在 java.lang.J9VMInternals.initialize(J9VMInternals.java:169) 在 com.sun.xml.messaging.saaj.soap.SOAPPartImpl.(SOAPPartImpl.java:106) 在 com.sun.xml.messaging.saaj.soap.ver1_2.SOAPPart1_2Impl.(SOAPPart1_2Impl.java:69) 在 com.sun.xml.messaging.saaj.soap.ver1_2.Message1_2Impl.getSOAPPart(Message1_2Impl.java:89) 在 com.sun.xml.messaging.saaj.soap.MessageImpl.initCharsetProperty(MessageImpl.java:1491) 在 com.sun.xml.messaging.saaj.soap.MessageImpl.init(MessageImpl.java:552) ... 47 更多

【问题讨论】:

    标签: web-services soap websphere java-7


    【解决方案1】:

    问题是 WAS 提供的库与 WebApp 库之间的冲突。最后,我能够通过进行休闲更改来解决此问题。现在我可以使用 IBM Java 6 或 7 在 WAS 8.5.0、8.5.5 上部署相同的应用程序。

    1. 将 WebModule 级别的类加载器属性设置为 Class loaded with local class loader first (parent last)。 这可以通过使用 WebSphere 管理控制台来实现

      应用程序->所有应用程序->选择应用程序名称->管理模块->选择一个模块->类加载器顺序

    2. 从我的项目 pom 中删除了以下依赖项

      wsdl4j、axis-saaj、axis-jaxrpc、org.apache.axis、xml-apis、commons-discovery、jaxb-core

    3. 在我的项目 pom 中添加了以下依赖项

      xalan、xercesImpl、jaxb-apis、jaxb-impl

    【讨论】:

      【解决方案2】:

      “堆栈形状不一致”通常意味着用作参数的类在编译调用者和编译被调用者之间发生了变化。简单的解决方法是重新编译双方,以便它们使用相同的类定义。

      (大多数情况下,我只是重新编译我的整个项目,而不是试图找出不同步的地方。)

      【讨论】:

      • “堆栈形状不一致”表示字节码无效,而不是某些类不兼容。除非您的第一个编译器中存在第二个不存在的错误,否则重新编译不会解决问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 2016-05-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多