i working websphere application server version 7.0 , websphere mq version 7.5.0.2. have built .war file , deployed on server when try send mq message things blow , receive below error message...
[6/6/16 13:28:53:849 cdt] 0000001a servletwrappe e com.ibm.ws.webcontainer.servlet.servletwrapper service srve0068e: uncaught exception created in 1 of service methods of servlet action in application xxxx_war. exception created : java.lang.nosuchmethoderror: com/ibm/mq/jmqi/handles/hconn.getqmgrsplcapability()lcom/ibm/mq/constants/qmgrsplcapability; @ com.ibm.mq.ese.jmqi.interceptedjmqiimpl.jmqiconnect(interceptedjmqiimpl.java:313)
i have checked .war file , class definetly exists in there. i'm noob was, potentially issue configuration? know isn't lot of information go on looking right direction on fix kind of thing.
any appreciated.
the problem here simple. have bundled websphere mq client jar files within application. unsupported , can cause kinds of problems (mixed versions of classes loaded, strange behaviour, classnotfounderror etc etc). not supported in way.
the mixed versioning exact problem have combined both mq v7.5 java client classes (in app) , v7.0.1 classes included in websphere application server (wsas) v7.0 itself. ese.intercept classes exist in bundled v7.5 jars trying lookup constant in v7.0.1 class not have defined.
wsas ships component called websphere mq jca resource adapter (wmq ra). handles communication mq queue manager , supports both classes jms api , classes java api (though former 1 should used possible). though wsas v7.0 ships version of wmq v7.0.1 java client classes, can cannot version of queue manager. wsas makes mq classes jms/java classes within wmq ra available deployed applications.
so, unpack .war application, remove mq java client jars have in there, repackage, redeploy , try again.
hope helps!