Hi, We are currently deploying axis2 in Websphere 6.1. We wish to use the jms transport. However axis2 fails to start because it uses forbidden api's.
On startup axis2's JMSConnectionFactory class calls the listenOnDestination(String destinationJndi) method. Here it creates a MessageConsumer and calls the MessageConsumer.setMessageListener(MessageListener listener) method. This causes failure and the exception thrown is as follows: javax.jms.IllegalStateException: Method setMessageListener not permitted On looking through docs online it is clear that IBM have stuck to the J2EE 1.4 specification. This states that the MessageConsumer.setMessageListener(MessageListener listener) method can not be called in a Web or EJB container. See http://www.ibm.com/developerworks/library/j-getmess/ for details. My question is that why is axis2 not compliant with this specification? Also what options do i have for using the jms transport with axis2 in WAS. Initial research shows the following possibilities: 1) Use MDB's (not ideal) 2) Change the axis2 code itself and make a synchronous MessageConsumer.receive call and poll for messages Can anyone advice on the best approach here? And also will axis2 become compliant with the J2EE 1.4 spec in the future? Thanks, Cathal -- View this message in context: http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-tp15306747p15306747.html Sent from the Axis - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
