[ 
https://issues.apache.org/jira/browse/AXIS2-5739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15139855#comment-15139855
 ] 

Andreas Veithen commented on AXIS2-5739:
----------------------------------------

There are no Apache Axis2 releases called "wso2v6" or "wso2v14". There may be 
JARs that have "axis2" together with "wso2vXXX" in their name, but they are not 
releases of Apache Axis2. They are produced by a third party vendor (WSO2 in 
this case) and the Apache Axis2 project is not responsible for problems related 
to these artifacts, unless you can show that the problem can be reproduced with 
an Apache Axis2 release.

Note that if that particular vendor advertises these artifacts as "Apache 
Axis2" or otherwise creates confusion regarding the nature of these artifacts, 
I would like to know that, as this would possibly constitute a trademark 
infringement. Only the Apache Software Foundation distributes releases of the 
Apache Axis2 product.

> calling ServiceClient.fireAndForget and receiving java.lang.NoSuchMethodError 
> getMessageFormatter
> -------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-5739
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5739
>             Project: Axis2
>          Issue Type: Bug
>          Components: transports
>    Affects Versions: 1.7.0
>         Environment: linux
>            Reporter: erica peters
>            Priority: Critical
>
> We are trying to upgrade to the newest version of wso2as.  However, we are 
> unable to send asynchronous messages based on the following errors received 
> (code source will be at the bottom):
> TID: [-1] [] [2016-02-04 12:31:07,912]  WARN 
> {org.apache.axis2.transport.base.TransportMBeanSupport} -  Error registering 
> a MBean with objectname ' 
> org.apache.axis2:Type=Transport,ConnectorName=jms-sender ' for JMX management 
> {org.apache.axis2.transport.base.TransportMBeanSupport}
> javax.management.InstanceAlreadyExistsException: 
> org.apache.axis2:Type=Transport,ConnectorName=jms-sender
>         at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
>         at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
>         at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
>         at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
>         at 
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
>         at 
> com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
>         at 
> org.apache.axis2.transport.base.TransportMBeanSupport.register(TransportMBeanSupport.java:91)
>         at 
> org.apache.axis2.transport.base.AbstractTransportSender.init(AbstractTransportSender.java:84)
>         at org.apache.axis2.transport.jms.JMSSender.init(JMSSender.java:63)
>         at 
> org.apache.axis2.context.ConfigurationContextFactory.initTransportSenders(ConfigurationContextFactory.java:300)
>         at 
> org.apache.axis2.context.ConfigurationContextFactory.init(ConfigurationContextFactory.java:231)
>         at 
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:93)
>         at 
> org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(ConfigurationContextFactory.java:210)
>         at 
> com.solers.espds.util.messaging.ServiceClientPoolFactory.create(ServiceClientPoolFactory.java:50)
>         at 
> com.solers.espds.util.messaging.ServiceClientPoolFactory.create(ServiceClientPoolFactory.java:24)
>         at 
> org.apache.commons.pool2.BasePooledObjectFactory.makeObject(BasePooledObjectFactory.java:60)
>         at 
> org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868)
>         at 
> org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435)
>         at 
> org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
>         at 
> com.solers.espds.util.messaging.ServiceInvoker.deliverSync(ServiceInvoker.java:292)
>         at 
> com.solers.espds.cim.userProfile.comm.UserManagerApi.getUserByLogin(UserManagerApi.java:1467)
>         at 
> com.solers.espds.cim.dataIntake.userManager.PdaUserManager.getUserGroup(PdaUserManager.java:297)
>         at 
> com.solers.espds.cim.dataIntake.userManager.PdaUserManager.hasAccess(PdaUserManager.java:312)
>         at 
> com.solers.espds.cim.dataIntake.userManager.PdaUserManager.authenticate(PdaUserManager.java:92)
>         at 
> com.solers.espds.cim.dataIntake.sftpServer.PdaSftpServer$1.authenticate(PdaSftpServer.java:215)
>         at 
> org.apache.sshd.server.auth.UserAuthPassword.checkPassword(UserAuthPassword.java:55)
>         at 
> org.apache.sshd.server.auth.UserAuthPassword.auth(UserAuthPassword.java:49)
>         at 
> org.apache.sshd.server.session.ServerSession.userAuth(ServerSession.java:406)
>         at 
> org.apache.sshd.server.session.ServerSession.handleMessage(ServerSession.java:215)
>         at 
> org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:566)
>         at 
> org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:236)
>         at 
> org.apache.sshd.common.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:58)
>         at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716)
>         at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>         at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46)
>         at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796)
>         at 
> org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119)
>         at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434)
>         at 
> org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426)
>         at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:697)
>         at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:651)
>         at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:640)
>         at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
>         at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1111)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> TID: [-1234] [] [2016-02-08 12:21:01,817] ERROR 
> {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} -  
> org.apache.axis2.transport.TransportUtils.getMessageFormatter(Lorg/apache/axis2/context/MessageContext;)Lorg/apache/axis2/transport/MessageFormatter;
>  {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver}
> java.lang.NoSuchMethodError: 
> org.apache.axis2.transport.TransportUtils.getMessageFormatter(Lorg/apache/axis2/context/MessageContext;)Lorg/apache/axis2/transport/MessageFormatter;
>         at 
> org.apache.axis2.transport.jms.JMSSender.createJMSMessage(JMSSender.java:328)
>         at 
> org.apache.axis2.transport.jms.JMSSender.sendOverJMS(JMSSender.java:159)
>         at 
> org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:141)
>         at 
> org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
>         at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>         at 
> org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
>         at 
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
>         at 
> org.apache.axis2.client.ServiceClient.fireAndForget(ServiceClient.java:511)
>         at 
> com.solers.espds.util.messaging.ServiceInvoker.deliverAsync(ServiceInvoker.java:259)
>         at 
> com.solers.espds.cim.schedule.comm.ScheduleManagerApi.createDataIntakeEvent(ScheduleManagerApi.java:109)
>         at 
> com.solers.espds.cim.dataIntake.FtpClientManager.pullFile(FtpClientManager.java:367)
>         at 
> com.solers.espds.cim.dataIntake.comm.FtpClientManagerListener.pullFile(FtpClientManagerListener.java:42)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at 
> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
>         at 
> org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66)
>         at 
> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
>         at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>         at 
> org.apache.axis2.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:328)
>         at 
> org.apache.axis2.transport.jms.JMSMessageReceiver.processThoughEngine(JMSMessageReceiver.java:196)
>         at 
> org.apache.axis2.transport.jms.JMSMessageReceiver.onMessage(JMSMessageReceiver.java:122)
>         at 
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.handleMessage(ServiceTaskManager.java:518)
>         at 
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:430)
>        at 
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> Code Source:
>       public void deliverAsync(Message message) {
>               ServiceClient serviceClient = null;
>               try {
>                       String namespace = namespaceMapping.get(this.endpoint);
>                       String endpointName = endpointMapping.get("async" + 
> this.endpoint);
>                       
>                       serviceClient = scp.borrowObject();
>                       // for endpoints not in PDA Properties
>                       if (endpointName == null) {
>                               endpointName = 
> endpointMapping.get(this.endpoint);
>                       }
>                       if (message.get("ZONE") != null) {
>                               String queue = endpointName.substring(0, 
> endpointName.indexOf("?")) + "ProxyCBR";
>                               String transportInfo = 
> endpointName.substring(endpointName.indexOf("?"));
>                               endpointName = queue + transportInfo;
>                       }
>                       if (endpointName.startsWith("jms")) {
>                               if (priorityAsync != null) {
>                                       
> serviceClient.getOptions().setProperty(JMSConstants.JMS_PRIORITY, 
> priorityAsync);
>                               }
>                               if (timeToLiveAsync != null) {
>                                       
> serviceClient.getOptions().setProperty(JMSConstants.JMS_TIME_TO_LIVE, 
> timeToLiveAsync);
>                               }
>                               if (deliveryModeAsync != null) {
>                                       
> serviceClient.getOptions().setProperty(JMSConstants.JMS_DELIVERY_MODE, 
> deliveryModeAsync);
>                               }
>                       }
>                       // Add the operation to it.
>                       AxisOperation operation = new OutOnlyAxisOperation();
>                       operation.setName(new QName(namespace, this.action, 
> prefix));
>                       serviceClient.getAxisService().addOperation(operation);
>                       // Set the endpoint and action.
>                       serviceClient.getOptions().setTo(new 
> EndpointReference(endpointName));
>                       
> serviceClient.getOptions().setProperty(org.apache.axis2.Constants.Configuration.MESSAGE_TYPE,
>  messageType);
>                       // Add the message to the SOAP message.
>                       OMFactory omFactory = OMAbstractFactory.getOMFactory();
>                       OMElement actionElement = 
> omFactory.createOMElement(this.action, null);
>                       // Grab the root element
>                       actionElement.addChild(message.wso2());
>                       actionElement.setNamespace(new 
> OMNamespaceImpl(namespace, prefix));
>                       LoggingAndReport.debug(ServiceInvoker.class.getName(), 
> "deliverAsync", "endpointName: " + endpointName);
>                       LoggingAndReport.debug(ServiceInvoker.class.getName(), 
> "deliverAsync", "action: " + this.action);
>                       // Send the message.
>                       serviceClient.fireAndForget(new QName(namespace, 
> this.action, prefix), actionElement);
>                       Thread.sleep(1000);
>                       omFactory = null;
>                       actionElement = null;
>                       operation = null;
>               } catch (Exception ex) {
>                       LoggingAndReport.error(ServiceInvoker.class.getName(), 
> "deliverAsync", GeneralUtils.getStackTrace(ex));
>               }
>               finally{
>                       //Cleanup Connection if necessary
>                       try {
>                               serviceClient.cleanupTransport();
>                               scp.returnObject(serviceClient);
>                       } catch (AxisFault e) {
>                               e.printStackTrace();
>                       }
>               }
> }
> The error in the logs is a java.lang.NoSuchMethodError.  The TransportUtils, 
> MessageContext and MessageFormatter class files all exist in both the wso2v6 
> and wso2v14 version of the axis2 jar.  
> Since the error is referencing TransportUtils, I went ahead and reverse 
> engineered both versions of that class file.  The getMessageFormatter method 
> does NOT exist in the wso2v14 version of the TransportUtils class.  That 
> being said, I do see where it exists now (BaseUtils) but it's the code from 
> within axis2 that is failing.  I cannot make the change.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to