java – 应用程序类’com.sun.xml.messaging.saaj.soap.SOAPPartImpl.:119’抛出的异常

我试图通过Bluemix部署Java应用程序.当我在我的本地Liberty Server(Liberty 16.0.0.2)上部署它时,它工作正常,我能够从SOAP客户端访问URL.

但是当我在Bluemix上尝试它时,它给了我这个错误

Exception thrown by application class
‘com.sun.xml.messaging.saaj.soap.soAPPartImpl.:119’
java.lang.VerifyError: JVMVRFY012 stack shape inconsistent;
class=com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl,
method=createDocumentFragment()Lorg/w3c/dom/DocumentFragment;,pc=5;
Type Mismatch,argument 0 in signature
com/sun/xml/messaging/saaj/soap/SOAPDocumentFragment.:(Lcom/sun/org/apache/xerces/internal/dom/CoreDocumentImpl;)V
does not match Exception Details: Location:
com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl.createDocumentFragment()Lorg/w3c/dom/DocumentFragment;
@5: JBinvokespecial Reason: Type
‘com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl’ (current frame,
stack[2]) is not assignable to
‘com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl’ Current
Frame: bci: @5 flags: { } locals: {
‘com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl’ } stack: {
‘uninitialized’,‘uninitialized’,
‘com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl’ } at
com.sun.xml.messaging.saaj.soap.soAPPartImpl.(SOAPPartImpl.java:119)
at
com.sun.xml.messaging.saaj.soap.ver1_1.soAPPart1_1Impl.(SOAPPart1_1Impl.java:89)
at
com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.getSOAPPart(Message1_1Impl.java:109)
at
org.apache.cxf.binding.soap.saaj.saajInInterceptor.handleMessage(saajInInterceptor.java:101)
at
org.apache.cxf.jaxws.handler.soap.soAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78)
at
org.apache.cxf.jaxws.handler.soap.soAPhandlerinterceptor.getopQName(SOAPhandlerinterceptor.java:294)
at
org.apache.cxf.jaxws.handler.AbstractJAXWShandlerinterceptor.setupBindingOperationInfo(AbstractJAXWShandlerinterceptor.java:111)
at
org.apache.cxf.jaxws.handler.soap.soAPhandlerinterceptor.createProtocolMessageContext(SOAPhandlerinterceptor.java:235)
at
org.apache.cxf.jaxws.handler.soap.soAPhandlerinterceptor.handleMessageInternal(SOAPhandlerinterceptor.java:144)
at
org.apache.cxf.jaxws.handler.soap.soAPhandlerinterceptor.handleMessage(SOAPhandlerinterceptor.java:119)
at
org.apache.cxf.jaxws.handler.soap.soAPhandlerinterceptor.handleMessage(SOAPhandlerinterceptor.java:69)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:368)
at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:183)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163)
at
org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(AbstractCXFServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1290)
at [internal classes]

我已经尝试部署打包的自由服务器和服务器目录选项.但它不起作用.
我也试过,用ibm-web-ext.xml方法,我们改变了fileServingEnabled =“false”.但它给出了同样的错误.

最佳答案
为了扩展Dinesh的答案,为了指示Bluemix JVM使用您的捆绑库(而不是CFX),将以下内容添加到服务器根目录中的jvm.options(如有必要,请创建):

-Djavax.xml.soap.MessageFactory=com.sun.xml.internal.messaging.saaj.soap.ver1_1.soAPMessageFactory1_1Impl
-Djavax.xml.soap.soAPFactory=com.sun.xml.internal.messaging.saaj.soap.ver1_1.soAPFactory1_1Impl
-Djavax.xml.soap.soAPConnectionFactory=com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnectionFactory
-Djavax.xml.soap.MetaFactory=com.sun.xml.internal.messaging.saaj.soap.saajMetaFactoryImpl

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...