Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 31366 invoked from network); 13 Apr 2007 20:25:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Apr 2007 20:25:53 -0000 Received: (qmail 66961 invoked by uid 500); 13 Apr 2007 20:25:49 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 66944 invoked by uid 500); 13 Apr 2007 20:25:49 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 66933 invoked by uid 99); 13 Apr 2007 20:25:49 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 13 Apr 2007 13:25:49 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: neutral (herse.apache.org: local policy) Received: from [68.142.199.160] (HELO web81608.mail.mud.yahoo.com) (68.142.199.160) by apache.org (qpsmtpd/0.29) with SMTP; Fri, 13 Apr 2007 13:25:42 -0700 Received: (qmail 86780 invoked by uid 60001); 13 Apr 2007 20:25:20 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=pacbell.net; h=X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:MIME-Version:Content-Type:Message-ID; b=MHgwdf7SBKCH7APA66O5yblLv1lQOb+Jpb6c6nmBao0vIARLE6oLUy2K055p12m7+FR177XyAE+D69ztb34jZi/sJe21qOByTTYpYfkeF4ZZ9j8KDujcELk7HRxsllVKaOQvEPHUq4e5u29rsF02daLwcyYTFAjuSTa+bU4TWLI=; X-YMail-OSG: MVGNECsVM1niKSZiwWU0QXwmV6gg8r0TEddhvAvX8TN80btsNQv4AkC4g1I_0xg76qRsxaDh3Q-- Received: from [71.146.106.20] by web81608.mail.mud.yahoo.com via HTTP; Fri, 13 Apr 2007 13:25:20 PDT X-Mailer: YahooMailRC/478 YahooMailWebService/0.7.41.10 Date: Fri, 13 Apr 2007 13:25:20 -0700 (PDT) From: Shantanu Sen Subject: Re: Axis2: soap/jms question To: axis-user@ws.apache.org MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-548386809-1176495920=:86186" Message-ID: <724564.86186.qm@web81608.mail.mud.yahoo.com> X-Virus-Checked: Checked by ClamAV on apache.org --0-548386809-1176495920=:86186 Content-Type: text/plain; charset=ascii Asankha, Sorry for being unclear about this. Let me try to explain. I built axis.war from the source pulled from the trunk today. Then I made just the following modification in axis2.xml - basically added the jms transport receiver. --- .... ..... ..... --- At this point the axis2.war has just one service that gets generated by default with the build - version.aar. When I deployed the war on jboss, I see the following trace on the jboss console == 13:16:20,750 INFO [ModuleDeployer] Deploying module: soapmonitor 13:16:21,203 INFO [ServiceDeployer] Deploying Web service: version.aar 13:16:21,359 WARN [JMSConnectionFactory] Error looking up destination with JNDI name : Version to map its corresponding provider specific Destination name 13:16:21,375 WARN [JMSConnectionFactory] JMS Destination with JNDI name : Versi on does not exist 13:16:21,500 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:16:21,515 INFO [ListenerManager] ==== Is this the expected behavior? If so, then if we have jms transport enabled, every service deployed must explicitly set the transport mechanism in the services.xml? This means all the sample services that axis2 provides need to be modified since in most of them the services.xml does not contain any specific transport. Or should the behavior be that if no transport is specified in the services.xml then axis2 will assume that it is http by default? IMO this should be the expected behavior. Shantanu ----- Original Message ---- From: Asankha C. Perera To: axis-user@ws.apache.org Sent: Thursday, April 12, 2007 9:44:52 AM Subject: Re: Axis2: soap/jms question Hi Shantanu 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. I think this is the default Axis2 behavior and nothing specific to the JMS transport 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. What to you mean "another service..." do you have more than one version.aar file? or version.aar and version1.aar with different services.xmls? if so do they share the same service name? if (JMSUtils.isJMSService(service)) { processService(service); } I think the implementation of the above method is correct public static boolean isJMSService(AxisService service) { boolean process = service.isEnableAllTransports(); if (process) { return true; } else { List transports = service.getExposedTransports(); for (int i = 0; i < transports.size(); i++) { if (Constants.TRANSPORT_JMS.equals(transports.get(i))) { return true; } } } return false; } 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. I do not think I correctly identify the issue you are raising.. could you verify this and post a JIRA so that we could discuss this issue on a new mail thread? I would try to attend to this sometime next week asankha --------------------------------------------------------------------- To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For additional commands, e-mail: axis-user-help@ws.apache.org --0-548386809-1176495920=:86186 Content-Type: text/html; charset=ascii
Asankha,

Sorry for being unclear about this. Let me try to explain.

I built axis.war from the source pulled from the trunk today. Then I made just the following modification in axis2.xml - basically added the jms transport receiver.
---
<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
        <parameter name="myTopicConnectionFactory" locked="false">                       
            ....
        </parameter>
        <parameter name="myQueueConnectionFactory" locked="false">                       
           .....
        </parameter>
        <parameter name="default" locked="false">                       
            .....
        </parameter>
    </transportReceiver>
---

At this point the axis2.war has just one service that gets generated by default with the build - version.aar.
When I deployed the war on jboss, I see the following trace on the jboss console

==
13:16:20,750 INFO  [ModuleDeployer] Deploying module: soapmonitor
13:16:21,203 INFO  [ServiceDeployer] Deploying Web service: version.aar
13:16:21,359 WARN  [JMSConnectionFactory] Error looking up destination with JNDI
 name : Version to map its corresponding provider specific Destination name
13:16:21,375 WARN  [JMSConnectionFactory] JMS Destination with JNDI name : Versi
on does not exist
13:16:21,500 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:16:21,515 INFO  [ListenerManager]
====

Is this the expected behavior? If so, then if we have jms transport enabled, every service deployed must explicitly set the transport mechanism in the services.xml? This means all the sample services that axis2 provides need to be modified since in most of them the services.xml does not contain any specific transport.

Or should the behavior be that if no transport is specified in the services.xml then axis2 will assume that it is http by default? IMO this should be the expected behavior.

Shantanu
----- Original Message ----
From: Asankha C. Perera <asankha@wso2.com>
To: axis-user@ws.apache.org
Sent: Thursday, April 12, 2007 9:44:52 AM
Subject: Re: Axis2: soap/jms question

Hi Shantanu
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.
I think this is the default Axis2 behavior and nothing specific to the JMS transport
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.
What to you mean "another service..." do you have more than one version.aar file? or version.aar and version1.aar with different services.xmls? if so do they share the same service name?
 if (JMSUtils.isJMSService(service)) {
                processService(service);
}
I think the implementation of the above method is correct
public static boolean isJMSService(AxisService service) {
        boolean process = service.isEnableAllTransports();
        if (process) {
            return true;
        } else {
            List transports = service.getExposedTransports();
            for (int i = 0; i < transports.size(); i++) {
                if (Constants.TRANSPORT_JMS.equals(transports.get(i))) {
                    return true;
                }
            }
        }
        return false;
    }

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.
I do not think I correctly identify the issue you are raising.. could you verify this and post a JIRA so that we could discuss this issue on a new mail thread? I would try to attend to this sometime next week

asankha
--------------------------------------------------------------------- To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org For additional commands, e-mail: axis-user-help@ws.apache.org

--0-548386809-1176495920=:86186--