You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2005/12/06 19:49:23 UTC

svn commit: r354495 - in /webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport: jms/JMSSender.java jms/JMSTransport.java jms/JMSURLHelper.java jms/SimpleJMSListener.java tcp/TCPServer.java

Author: dims
Date: Tue Dec  6 10:49:20 2005
New Revision: 354495

URL: http://svn.apache.org/viewcvs?rev=354495&view=rev
Log:
get the jms send to work 


Modified:
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSSender.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSTransport.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSURLHelper.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/SimpleJMSListener.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/tcp/TCPServer.java

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSSender.java?rev=354495&r1=354494&r2=354495&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSSender.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSSender.java Tue Dec  6 10:49:20 2005
@@ -42,7 +42,7 @@
 /**
  * This is meant to be used on a SOAP Client to call a SOAP server.
  */
-public class JMSSender implements TransportSender {
+public class JMSSender extends JMSTransport implements TransportSender {
     public JMSSender() {
     }
 
@@ -62,6 +62,9 @@
      * @throws AxisFault
      */
     public void invoke(MessageContext msgContext) throws AxisFault {
+        
+        super.invoke(msgContext);
+        
         JMSConnector connector = null;
         try {
             Object destination = msgContext.getProperty(JMSConstants.DESTINATION);

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSTransport.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSTransport.java?rev=354495&r1=354494&r2=354495&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSTransport.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSTransport.java Tue Dec  6 10:49:20 2005
@@ -26,7 +26,7 @@
 
 /**
  * JMSTransport is the JMS-specific implemenation of org.apache.axis.client.Transport.
- * It implements the setupMessageContextImpl() function to set JMS-specific message
+ * It implements the invoke() function to set JMS-specific message
  * context fields and transport chains.
  * <p/>
  * There are two
@@ -73,10 +73,10 @@
      * @param context the context to set up
      * @throws AxisFault if service cannot be found
      */
-    public void setupMessageContextImpl(MessageContext context)
+    public void invoke(MessageContext context)
             throws AxisFault {
         if (log.isDebugEnabled()) {
-            log.debug("Enter: JMSTransport::setupMessageContextImpl");
+            log.debug("Enter: JMSTransport::invoke");
         }
 
         JMSConnector connector = null;
@@ -97,7 +97,7 @@
         if (endpointAddr != null) {
             try {
                 // performs minimal validation ('jms:/destination?...')
-                jmsurl = new JMSURLHelper(new java.net.URL(endpointAddr));
+                jmsurl = new JMSURLHelper(endpointAddr);
 
                 // lookup the appropriate vendor adapter
                 String vendorId = jmsurl.getVendor();
@@ -105,7 +105,7 @@
                     vendorId = JMSConstants.JNDI_VENDOR_ID;
 
                 if (log.isDebugEnabled())
-                    log.debug("JMSTransport.setupMessageContextImpl(): endpt=" + endpointAddr +
+                    log.debug("JMSTransport.invoke(): endpt=" + endpointAddr +
                             ", vendor=" + vendorId);
 
                 vendorAdapter = JMSVendorAdapterFactory.getJMSVendorAdapter(vendorId);
@@ -117,7 +117,7 @@
                 connectorProperties = vendorAdapter.getJMSConnectorProperties(jmsurl);
                 connectionFactoryProperties = vendorAdapter.getJMSConnectionFactoryProperties(jmsurl);
             }
-            catch (java.net.MalformedURLException e) {
+            catch (Exception e) {
                 log.error(Messages.getMessage("malformedURLException00"), e);
                 throw new AxisFault(Messages.getMessage("malformedURLException00"), e);
             }
@@ -154,7 +154,7 @@
         vendorAdapter.setupMessageContext(context, jmsurl);
 
         if (log.isDebugEnabled()) {
-            log.debug("Exit: JMSTransport::setupMessageContextImpl");
+            log.debug("Exit: JMSTransport::invoke");
         }
     }
 
@@ -201,7 +201,7 @@
         }
 
         try {
-            JMSURLHelper jmsurl = new JMSURLHelper(new java.net.URL(endpointAddr));
+            JMSURLHelper jmsurl = new JMSURLHelper(endpointAddr);
             String vendorId = jmsurl.getVendor();
 
             JMSVendorAdapter vendorAdapter = null;
@@ -221,7 +221,7 @@
                     username, password,
                     vendorAdapter);
         }
-        catch (java.net.MalformedURLException e) {
+        catch (Exception e) {
             log.warn(Messages.getMessage("malformedURLException00"), e);
         }
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSURLHelper.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSURLHelper.java?rev=354495&r1=354494&r2=354495&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSURLHelper.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/JMSURLHelper.java Tue Dec  6 10:49:20 2005
@@ -16,6 +16,9 @@
 
 package org.apache.axis2.transport.jms;
 
+import org.apache.commons.httpclient.URI;
+import org.apache.commons.httpclient.URIException;
+
 import java.net.URL;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -28,7 +31,7 @@
  * The URL must be of the form: "jms:/<destination>?[<property>=<key>&]*"
  */
 public class JMSURLHelper {
-    private URL url;
+    private URI url;
 
     // the only property not in the query string
     private String destination;
@@ -42,18 +45,22 @@
     //application-specific JMS message properties
     private Vector appProperties;
 
-    public JMSURLHelper(java.net.URL url) throws java.net.MalformedURLException {
+    public JMSURLHelper(String url) throws Exception {
+            this(new URI(url), null);
+    }
+
+    public JMSURLHelper(URI url) throws java.net.MalformedURLException {
         this(url, null);
     }
 
-    public JMSURLHelper(java.net.URL url, String[] requiredProperties) throws java.net.MalformedURLException {
+    public JMSURLHelper(URI url, String[] requiredProperties) throws java.net.MalformedURLException {
         this.url = url;
         properties = new HashMap();
         appProperties = new Vector();
 
         // the path should be something like '/SampleQ1'
         // clip the leading '/' if there is one
-        destination = url.getPath();
+        destination = url.getEscapedPath();
         if (destination.startsWith("/"))
             destination = destination.substring(1);
 
@@ -61,20 +68,22 @@
             throw new java.net.MalformedURLException("Missing destination in URL");
 
         // parse the query string and populate the properties table
-        String query = url.getQuery();
-        StringTokenizer st = new StringTokenizer(query, "&;");
-        while (st.hasMoreTokens()) {
-            String keyValue = st.nextToken();
-            int eqIndex = keyValue.indexOf("=");
-            if (eqIndex > 0) {
-                String key = keyValue.substring(0, eqIndex);
-                String value = keyValue.substring(eqIndex + 1);
-                if (key.startsWith(JMSConstants._MSG_PROP_PREFIX)) {
-                    key = key.substring(
-                            JMSConstants._MSG_PROP_PREFIX.length());
-                    addApplicationProperty(key);
+        String query = url.getEscapedQuery();
+        if(query != null) {
+            StringTokenizer st = new StringTokenizer(query, "&;");
+            while (st.hasMoreTokens()) {
+                String keyValue = st.nextToken();
+                int eqIndex = keyValue.indexOf("=");
+                if (eqIndex > 0) {
+                    String key = keyValue.substring(0, eqIndex);
+                    String value = keyValue.substring(eqIndex + 1);
+                    if (key.startsWith(JMSConstants._MSG_PROP_PREFIX)) {
+                        key = key.substring(
+                                JMSConstants._MSG_PROP_PREFIX.length());
+                        addApplicationProperty(key);
+                    }
+                    properties.put(key, value);
                 }
-                properties.put(key, value);
             }
         }
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/SimpleJMSListener.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/SimpleJMSListener.java?rev=354495&r1=354494&r2=354495&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/SimpleJMSListener.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/jms/SimpleJMSListener.java Tue Dec  6 10:49:20 2005
@@ -84,6 +84,10 @@
         return connector;
     }
 
+    public ConfigurationContext getSystemContext() {
+       return this.configurationContext;
+   }
+    
     /**
      * This method is called asynchronously whenever a message arrives.
      *

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/tcp/TCPServer.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/tcp/TCPServer.java?rev=354495&r1=354494&r2=354495&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/tcp/TCPServer.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/tcp/TCPServer.java Tue Dec  6 10:49:20 2005
@@ -35,7 +35,7 @@
 import java.net.Socket;
 
 /**
- * Class HTTPTransportReceiver
+ * Class TCPServer
  */
 public class TCPServer extends TransportListener implements Runnable {
     private int port = 8000;