Asankha,
I tried with the source pulled in from the trunk today and it is working fine. Thanks for the fix.
One issue that I am having now is that if I have multiple services deployed, for each of the services that do not have the transport specified in the services.xml, such as the version.aar, the code is assuming that enableAllTransports variable is true.
So, if I have another service deployed, say version.aar, that do not have any transport specific elements specified in the services.xml, the JMSListener line 122 code that checks to see if it is a JMS service as shown below, is returning true.
if (JMSUtils.isJMSService(service)) {
processService(service);
}
The reason being that enableAllTransports in the AxisService is set to true for the Version service.
I have enabled only one service explicitly to be jms using the services.xml and that service is being deployed fine and the JMSListener correctly configured for it.
I would assume that all other services that do not specify any transport specific configurations in the services.xml, the code would would not try to enable it for all transports and it was working fine previously. Has anything changed in AxisService code that sets the enableAllTransports to be true by default?
As a result of the above issue, the listener throws the following exception that is stopping JMSListener from listening to any queue at all. Note that it is trying to deploy the Version service as a JMS service as shown below, which is wrong.
---
13:38:01,524 WARN [JMSConnectionFactory] Error looking up destination with JNDI
name : Version to map its corresponding provider specific Destination name
13:38:01,524 WARN [JMSConnectionFactory] JMS Destination with JNDI name : Versi
on does not exist
13:38:01,540 ERROR [JMSConnectionFactory] Unable to create a Destination with JN
DI name : Version
javax.jms.JMSException: This destination does not exist !QUEUE.Version
at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationM
anager.java:613)
at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServer
InterceptorSupport.java:111)
at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor
.java:259)
at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.jav
a:117)
at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocke
tManagerHandler.java:136)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.j
ava:395)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec
utor.java:748)
at java.lang.Thread.run(Thread.java:595)
13:38:01,555 INFO [JMSConnectionFactory] Mapping JNDI name : Version and JMS De
stination name : null against service : Version
13:38:01,571 WARN [JMSConnectionFactory] Cannot find destination : Version Crea
ting a Queue with this name
13:38:01,571 ERROR [JMSListener] Could not listen on JMS for service Version
javax.jms.JMSException: This destination does not exist !QUEUE.Version
at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationM
anager.java:613)
at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServer
InterceptorSupport.java:111)
at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor
.java:259)
at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.jav
a:117)
at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocke
tManagerHandler.java:136)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.j
ava:395)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec
utor.java:748)
at java.lang.Thread.run(Thread.java:595)
13:38:01,571 INFO [ServiceDeployer] Deploying Web service: version.aar
---
Any ideas on this?
Shantanu
I tried with the source pulled in from the trunk today and it is working fine. Thanks for the fix.
One issue that I am having now is that if I have multiple services deployed, for each of the services that do not have the transport specified in the services.xml, such as the version.aar, the code is assuming that enableAllTransports variable is true.
So, if I have another service deployed, say version.aar, that do not have any transport specific elements specified in the services.xml, the JMSListener line 122 code that checks to see if it is a JMS service as shown below, is returning true.
if (JMSUtils.isJMSService(service)) {
processService(service);
}
The reason being that enableAllTransports in the AxisService is set to true for the Version service.
I have enabled only one service explicitly to be jms using the services.xml and that service is being deployed fine and the JMSListener correctly configured for it.
I would assume that all other services that do not specify any transport specific configurations in the services.xml, the code would would not try to enable it for all transports and it was working fine previously. Has anything changed in AxisService code that sets the enableAllTransports to be true by default?
As a result of the above issue, the listener throws the following exception that is stopping JMSListener from listening to any queue at all. Note that it is trying to deploy the Version service as a JMS service as shown below, which is wrong.
---
13:38:01,524 WARN [JMSConnectionFactory] Error looking up destination with JNDI
name : Version to map its corresponding provider specific Destination name
13:38:01,524 WARN [JMSConnectionFactory] JMS Destination with JNDI name : Versi
on does not exist
13:38:01,540 ERROR [JMSConnectionFactory] Unable to create a Destination with JN
DI name : Version
javax.jms.JMSException: This destination does not exist !QUEUE.Version
at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationM
anager.java:613)
at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServer
InterceptorSupport.java:111)
at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor
.java:259)
at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.jav
a:117)
at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocke
tManagerHandler.java:136)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.j
ava:395)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec
utor.java:748)
at java.lang.Thread.run(Thread.java:595)
13:38:01,555 INFO [JMSConnectionFactory] Mapping JNDI name : Version and JMS De
stination name : null against service : Version
13:38:01,571 WARN [JMSConnectionFactory] Cannot find destination : Version Crea
ting a Queue with this name
13:38:01,571 ERROR [JMSListener] Could not listen on JMS for service Version
javax.jms.JMSException: This destination does not exist !QUEUE.Version
at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationM
anager.java:613)
at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServer
InterceptorSupport.java:111)
at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor
.java:259)
at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.jav
a:117)
at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocke
tManagerHandler.java:136)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.j
ava:395)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec
utor.java:748)
at java.lang.Thread.run(Thread.java:595)
13:38:01,571 INFO [ServiceDeployer] Deploying Web service: version.aar
---
Any ideas on this?
Shantanu
----- Original Message ----
From: Asankha C. Perera <[EMAIL PROTECTED]>
To: [email protected]
Sent: Monday, April 2, 2007 9:08:12 PM
Subject: Re: Axis2: soap/jms question
Shantanu
Thanks for pointing out this issue, I was able to recreate the issue with JBoss and have checked in the fix to both the trunk and the 1.2 branch.
asankha
Asankha C. Perera wrote:
From: Asankha C. Perera <[EMAIL PROTECTED]>
To: [email protected]
Sent: Monday, April 2, 2007 9:08:12 PM
Subject: Re: Axis2: soap/jms question
Shantanu
Thanks for pointing out this issue, I was able to recreate the issue with JBoss and have checked in the fix to both the trunk and the 1.2 branch.
asankha
Asankha C. Perera wrote:
Shantanu
I am stuck with some JBoss problems.. I have downloaded and installed jboss-4.0.5.GA but am unable to locate the client JAR files that should be placed on Axis2 lib folder, the initial context class name, and url I should use etc. I am trying this out with a standalone Axis2 installation.. Could you let me know?
asankha
Shantanu Sen wrote:I did not write a program, but using Hermes JMS browser I can see the queue as shown in the attached gif.
I think it is provider specific. Previously, the traces said that the listener is binding to QUEUE.requestQ, while now it is looking at the queue as QUEUE.queue/requestQ. I think jboss expects all queue jndi names start with queue/ and somehow in the previous code it was getting just the requestQ part and not it gets queue/requestQ and is getting confused (I am guessing here though).
You might try with jboss and see if this is really an issue.
Here is the jboss configuration file that needs to be dropped in the jms deploy directory e.g. jboss-4.0.5.GA\server\default\deploy\jms that will generate the queue.
------------requestq-ds.xml-----------------
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=requestQ">
<depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>
</mbean>
</server>
----------------
I did not change any of these settings and it was working fine with the previous snapshot. I'll try to dig into it further.
Shantanu
----- Original Message ----
From: Asankha C. Perera <[EMAIL PROTECTED]>
To: [email protected]
Sent: Friday, March 30, 2007 1:53:33 PM
Subject: Re: Axis2: soap/jms question
Shantanu
Yes, I have done some modifications.. but I do not see how it affects you configuration here. Your services.xml states "queue/requestQ" as the JNDI name:
<parameter name="transport.jms.Destination" locked="true">queue/requestQ</parameter>
and the log states:
>12:04:31,626 WARN [JMSConnectionFactory] JMS Destination with JNDI name : queue/requestQ does not exist
Can you write a small standalone JNDI lookup program to see if "queue/requestQ" is the correct JNDI name for your Queue and it is available? Or could it be the (provider specific) JMS Destination name instead of the JNDI name? If you are able to do the lookup - then its a bug within my changes and I would like to receive as much information on your configuration / setup to reproduce and identify the issue.
asankha
Shantanu Sen wrote:--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Asankha,
Sorry my previous mail was not complete.
After I pulled in code from the trunk today, the previous project with jms binding is not working. I think it has to do with the naming of the queue - I am running on JBOSS 4.0.5.
Here is the relevant part of service.xml:
<parameter name="transport.jms.Destination" locked="true">queue/requestQ</parameter>
<parameter name="transport.jms.ConnectionFactory" locked="true">ConnectionFactory</parameter>
This was working fine with the last build that I had (last Monday I think). But with the current build, I see this error on the JBOSS console when it starts up. If I remember correctly, previously it was searching for the destination as QUEUE.requestQ, but now it is QUEUE.queue/requestQ as shown below. Did you make any changes in the way the queue jndi name is being used?
12:04:31,626 WARN [JMSConnectionFactory] JMS Destination with JNDI name : queue
/requestQ does not exist
12:04:31,907 ERROR [JMSConnectionFactory] Unable to create a Destination with JN
DI name : queue/requestQ
javax.jms.JMSException: This destination does not exist !QUEUE.queue/requestQ
at org.jboss.mq.server.JMSDestinationManager.createQueue(JMSDestinationM
anager.java:613)
at org.jboss.mq.server.JMSServerInterceptorSupport.createQueue(JMSServer
InterceptorSupport.java:111)
at org.jboss.mq.server.TracingInterceptor.createQueue(TracingInterceptor
.java:259)
at org.jboss.mq.server.JMSServerInvoker.createQueue(JMSServerInvoker.jav
a:117)
at org.jboss.mq.il.uil2.ServerSocketManagerHandler.handleMsg(ServerSocke
tManagerHandler.java:136)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.handleMsg(SocketManager.j
ava:395)
at org.jboss.mq.il.uil2.msgs.BaseMsg.run(BaseMsg.java:398)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec
Please let me know if need more info on this.
Shantanu
----- Original Message ----
From: Asankha C. Perera <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thursday, March 29, 2007 11:04:41 AM
Subject: Re: Axis2: soap/jms question
Hi Shantanu
Cool! Sorry for the delay in responding to this, as I was actually fixing the below mentioned issue latelyI pulled the code from the trunk yesterday and now jms binding is working fine on jboss. Thanks for the fix.
Yes, now there is. See https://issues.apache.org/jira/browse/AXIS2-2266 and the fix is available on the trunk1. Is there a way to specify the temporary queue jndi name for blocking calls using the jms transport?
Yes, See https://issues.apache.org/jira/browse/AXIS2-22662. For non-blocking two way operations how can we specify that the response should be published to a separate queue? I did not try this, but if I set the wsa:replyTo from the client, with a jms specific url that specifies the response queue jndi name, will the service pick this up from the wsa:replyTo and publish the response to this queue using the specified url?
I would be grateful if you could independently verify this fix using the latest code from trunk, so that I could merge it into the 1.2 branch ASAP to get into the next release
asankha
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

