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;