Hi Devs, When publishing to RabbitMQ from WSO2 EI 6.1.1 [1], if the queue size is reached (RabbitMQ Publisher Confirms) then it throws an exception in EI. As per [2], this throws an axis2 exception, but in the fault sequence, the error code is 0 as [3]. Since the error code is not defined, is there a way to differentiate the nacks when publishing messages to queue?
[1] - <call> <endpoint name="EP-Queue-Confirm" xmlns="http://ws.apache.org/ns/synapse "> <address uri="rabbitmq:/AMQPProducer?rabbitmq.server.host.name =localhost&rabbitmq.server.port=5672&rabbitmq.queue.name =Q-SampleEsb&rabbitmq.queue.route.key=R-SampleEsb& rabbitmq.exchange.name=Ex-SampleEsb&*rabbitmq.confirm.delivery=true*"/> </endpoint> </call> [2] - [EI-Core] ERROR - RabbitMQMessageSender Error while publishing the message java.io.IOException: nacks received at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:226) at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:214) at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.waitForConfirmsOrDie(AutorecoveringChannel.java:533) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:274) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.send(RabbitMQMessageSender.java:81) at org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:108) at org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendMessage(RabbitMQSender.java:83) 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.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595) at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) at org.apache.synapse.endpoints.ResolvingEndpoint.sendMessage(ResolvingEndpoint.java:74) at org.apache.synapse.endpoints.ResolvingEndpoint.send(ResolvingEndpoint.java:58) at org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:246) at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:115) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.rest.Resource.process(Resource.java:343) at org.apache.synapse.rest.API.process(API.java:399) at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:78) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:326) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) [EI-Core] ERROR - RabbitMQSender Error occurred while sending message out org.apache.axis2.transport.rabbitmq.utils.AxisRabbitMQException: Error while publishing the message at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.handleException(RabbitMQMessageSender.java:314) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:278) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.send(RabbitMQMessageSender.java:81) at org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:108) at org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendMessage(RabbitMQSender.java:83) 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.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595) at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) at org.apache.synapse.endpoints.ResolvingEndpoint.sendMessage(ResolvingEndpoint.java:74) at org.apache.synapse.endpoints.ResolvingEndpoint.send(ResolvingEndpoint.java:58) at org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:246) at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:115) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.rest.Resource.process(Resource.java:343) at org.apache.synapse.rest.API.process(API.java:399) at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:78) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:326) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.IOException: nacks received at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:226) at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:214) at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.waitForConfirmsOrDie(AutorecoveringChannel.java:533) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:274) ... 41 more [EI-Core] ERROR - Axis2Sender Unexpected error during sending message out org.apache.axis2.AxisFault: Error occurred while sending message out at org.apache.axis2.transport.base.AbstractTransportSender.handleException(AbstractTransportSender.java:226) at org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:112) at org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendMessage(RabbitMQSender.java:83) 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.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595) at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) at org.apache.synapse.endpoints.ResolvingEndpoint.sendMessage(ResolvingEndpoint.java:74) at org.apache.synapse.endpoints.ResolvingEndpoint.send(ResolvingEndpoint.java:58) at org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:246) at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:115) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) at org.apache.synapse.rest.Resource.process(Resource.java:343) at org.apache.synapse.rest.API.process(API.java:399) at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:78) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:326) at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.axis2.transport.rabbitmq.utils.AxisRabbitMQException: Error while publishing the message at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.handleException(RabbitMQMessageSender.java:314) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:278) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.send(RabbitMQMessageSender.java:81) at org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:108) ... 39 more Caused by: java.io.IOException: nacks received at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:226) at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:214) at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.waitForConfirmsOrDie(AutorecoveringChannel.java:533) at org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:274) ... 41 more [3] - [EI-Core] INFO - LogMediator To: /rabbitmq-api, MessageID: urn:uuid:a7388de1-6df8-4673-82ee-7faa3d37375b, Direction: request, *ERROR_CODE = 0, ERROR_MESSAGE = Unexpected error during sending message out, SENDING_FAULT = null* Regards, Nira
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev