If we neglect the transport.jms.DestinationType parameter from the
connection url ( in JMS transport) that causes the following NPE.
java.lang.NullPointerException
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:443)
at
org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:272)
at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at
org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:355)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:57)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:190)
at
org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:205)
at
org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at
org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:173)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:178)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173)
at
org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:403)
at
org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:259)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
This happens because we don't initialize connection factory and the
destination type for generic destination types.
(JMSOutTransportInfo.java:328). Shall we let generic destination type to be
queue type in order to avoid the NPE ? ( There is a TODO as well)
Rajika