J'essaie de déployer une application Java sur Bluemix. Lorsque je la déploie sur mon ordinateur local Liberty Server(Liberty 16.0.0.2)
cela fonctionne bien et je suis en mesure d'atteindre l'URL à partir d'une page Web. SOAP
client.
Mais quand je l'essaie sur Bluemix, il me donne cette erreur :
Exception déclenchée par la classe d'application com.sun.xml.messaging.saaj.soap.SOAPPartImpl.:119' (en anglais) java.lang.VerifyError : JVMVRFY012 forme de pile incohérente ; class=com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl, method=createDocumentFragment()Lorg/w3c/dom/DocumentFragment ;, pc=5 ; Erreur de type, argument 0 dans la signature com/sun/xml/messaging/saaj/soap/SOAPDocumentFragment. :(Lcom/sun/org/apache/xerces/internal/dom/CoreDocumentImpl ;)V ne correspond pas Détails de l'exception : Emplacement : com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl.createDocumentFragment()Lorg/w3c/dom/DocumentFragment ; @5 : JBinvokespecial Raison : Type com/sun/xml/messaging/saaj/soap/SOAPDocumentImpl' (cadre actuel, stack[2]) n'est pas assignable à com/sun/org/apache/xerces/internal/dom/CoreDocumentImpl' Cadre actuel Cadre : 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) à l'adresse com.sun.xml.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl.(SOAPPart1_1Impl.java:89) à l'adresse com.sun.xml.messaging.saaj.soap.ver1_1.Message1_1Impl.getSOAPPart(Message1_1Impl.java:109) à l'adresse org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:101) à l'adresse org.apache.cxf.jaxws.handler.soap.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78) à l'adresse org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.getOpQName(SOAPHandlerInterceptor.java:294) à l'adresse org.apache.cxf.jaxws.handler.AbstractJAXWSHandlerInterceptor.setupBindingOperationInfo(AbstractJAXWSHandlerInterceptor.java:111) à l'adresse org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.createProtocolMessageContext(SOAPHandlerInterceptor.java:235) à l'adresse org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessageInternal(SOAPHandlerInterceptor.java:144) à l'adresse org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:119) à l'adresse org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:69) à l'adresse org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) à l'adresse org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89) à l'adresse org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99) à l'adresse org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:368) à l'adresse org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:183) à l'adresse org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163) à l'adresse 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 [classes internes]
J'ai déjà essayé de déployer le serveur liberty packagé et les options de répertoire de serveur. Mais cela ne fonctionne pas. J'ai également essayé, avec ibm-web-ext.xml
approche, où nous changeons fileServingEnabled="false"
. Mais cela donne la même erreur.