You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ch...@apache.org on 2006/09/12 11:44:03 UTC
svn commit: r442546 - in /webservices/axis2/trunk/java/modules:
integration/test/org/apache/axis2/engine/
kernel/src/org/apache/axis2/description/
kernel/src/org/apache/axis2/transport/
kernel/src/org/apache/axis2/transport/http/ kernel/src/org/apache/...
Author: chinthaka
Date: Tue Sep 12 02:44:02 2006
New Revision: 442546
URL: http://svn.apache.org/viewvc?view=rev&rev=442546
Log:
Implementing the proposal forwarded in http://marc.theaimsgroup.com/?l=axis-dev&m=115804838119637&w=2.
TODO : I need to update the usages of getEPR method to properly use getEPRs method
Modified:
webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/SimpleJMSListener.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/njms/JMSListener.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java
Modified: webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java (original)
+++ webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/engine/MessageContextInjectionTest.java Tue Sep 12 02:44:02 2006
@@ -22,6 +22,7 @@
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
@@ -101,8 +102,12 @@
//To change body of implemented methods use File | Settings | File Templates.
}
- public EndpointReference getEPRForService(String serviceName, String ip) {
+ public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
return null; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public EndpointReference[] getEPRsForService(String serviceName, String ip){
+ return null;
}
});
config.addTransportIn(tIn);
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/description/AxisService.java Tue Sep 12 02:44:02 2006
@@ -571,9 +571,9 @@
TransportListener listener = transportIn.getReceiver();
if (listener != null) {
try {
- if (listener.getEPRForService(getName(), requestIP) != null) {
- String address =
- listener.getEPRForService(getName(), requestIP).getAddress();
+ EndpointReference eprForService = listener.getEPRForService(getName(), requestIP);
+ if (eprForService != null) {
+ String address = eprForService.getAddress();
if (address != null) {
eprList.add(address);
}
@@ -593,11 +593,9 @@
TransportListener listener = transportIn.getReceiver();
if (listener != null) {
try {
- if (listener.getEPRForService(getName(), requestIP)
- != null) {
- String address =
- listener.getEPRForService(getName(),
- requestIP).getAddress();
+ EndpointReference eprForService = listener.getEPRForService(getName(), requestIP);
+ if (eprForService != null) {
+ String address = eprForService.getAddress();
if (address != null) {
eprList.add(address);
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/TransportListener.java Tue Sep 12 02:44:02 2006
@@ -37,5 +37,15 @@
void stop() throws AxisFault;
+ /**
+ * @deprecated Transport listener can expose more than EPRs. So this method should return an array of EPRs.
+ * Deprecating this method for now and please use getEPRsForServices instead.
+ * @param serviceName
+ * @param ip
+ * @return
+ * @throws AxisFault
+ */
EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault;
+
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/AxisServlet.java Tue Sep 12 02:44:02 2006
@@ -137,7 +137,8 @@
if ((query != null) && (query.indexOf("wsdl2") >= 0 ||
query.indexOf("wsdl") >= 0 || query.indexOf("xsd") >= 0)) { // handling meta data exchange stuff
agent.processListService(req, resp);
- } else if (requestURI.endsWith(LIST_SERVICES_SUFIX) || requestURI.endsWith(LIST_FAUKT_SERVICES_SUFIX)) { // handling list services request
+ } else if (requestURI.endsWith(LIST_SERVICES_SUFIX) || requestURI.endsWith(LIST_FAUKT_SERVICES_SUFIX))
+ { // handling list services request
try {
agent.handle(req, resp);
} catch (Exception e) {
@@ -402,12 +403,15 @@
}
public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
- //RUNNING_PORT
+ return getEPRsForService(serviceName, ip)[0];
+ }
+
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault {
+ //RUNNING_PORT
String port = (String) configContext.getProperty(ListingAgent.RUNNING_PORT);
if (port == null) {
port = "8080";
}
-
if (ip == null) {
try {
ip = HttpUtils.getIpAddress();
@@ -415,9 +419,10 @@
throw new AxisFault(e);
}
}
-
- return new EndpointReference("http://" + ip + ":" + port + '/' +
+ EndpointReference soapEndpoint = new EndpointReference("http://" + ip + ":" + port + '/' +
configContext.getServiceContextPath() + "/" + serviceName);
+
+ return new EndpointReference[] {soapEndpoint};
}
protected MessageContext createMessageContext(HttpServletRequest req,
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/ListingAgent.java Tue Sep 12 02:44:02 2006
@@ -261,9 +261,15 @@
public void stop() throws AxisFault {
}
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault {
+ return new EndpointReference[]{new EndpointReference(schema + "://" + ip + ":" + port + "/" + axisConf.getServiceContextPath() + "/" + serviceName)}; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
- return new EndpointReference(schema + "://" + ip + ":" + port + "/" + axisConf.getServiceContextPath() + "/" + serviceName);
+ return getEPRsForService(serviceName, ip)[0];
}
+
+
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/http/SimpleHTTPServer.java Tue Sep 12 02:44:02 2006
@@ -199,37 +199,21 @@
}
/**
- * Getter for httpFactory
- */
- public HttpFactory getHttpFactory() {
- return httpFactory;
- }
-
- /**
- * Method getConfigurationContext
- *
- * @return the system context
- */
- public ConfigurationContext getConfigurationContext() {
- return configurationContext;
- }
-
- /**
* replyToEPR
* If the user has given host address paramter then it gets the high priority and
* ERP will be creatd using that
- * N:B - hostAddress should be a complte url (http://www.myApp.com/ws)
+ * N:B - hostAddress should be a complete url (http://www.myApp.com/ws)
*
* @param serviceName
* @param ip
* @return an EndpointReference
* @see org.apache.axis2.transport.TransportListener#getEPRForService(String,String)
*/
- public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault {
//if host address is present
if (hostAddress != null) {
if (embedded != null) {
- return new EndpointReference(hostAddress + "/" + configurationContext.getServiceContextPath() + "/" + serviceName);
+ return new EndpointReference[] {new EndpointReference(hostAddress + "/" + configurationContext.getServiceContextPath() + "/" + serviceName)};
} else {
throw new AxisFault("Unable to generate EPR for the transport : http");
}
@@ -249,12 +233,43 @@
}
}
if (embedded != null) {
- return new EndpointReference("http://" + localAddress + ":" +
+ return new EndpointReference[] {new EndpointReference("http://" + localAddress + ":" +
(embedded.getPort())
- + "/" + configurationContext.getServiceContextPath() + "/" + serviceName);
+ + "/" + configurationContext.getServiceContextPath() + "/" + serviceName)};
} else {
throw new AxisFault("Unable to generate EPR for the transport : http");
}
+ }
+
+ /**
+ * Getter for httpFactory
+ */
+ public HttpFactory getHttpFactory() {
+ return httpFactory;
+ }
+
+ /**
+ * Method getConfigurationContext
+ *
+ * @return the system context
+ */
+ public ConfigurationContext getConfigurationContext() {
+ return configurationContext;
+ }
+
+ /**
+ * replyToEPR
+ * If the user has given host address paramter then it gets the high priority and
+ * ERP will be creatd using that
+ * N:B - hostAddress should be a complte url (http://www.myApp.com/ws)
+ *
+ * @param serviceName
+ * @param ip
+ * @return an EndpointReference
+ * @see org.apache.axis2.transport.TransportListener#getEPRForService(String,String)
+ */
+ public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
+ return getEPRsForService(serviceName, ip)[0];
}
/**
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/SimpleJMSListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/SimpleJMSListener.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/SimpleJMSListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/jms/SimpleJMSListener.java Tue Sep 12 02:44:02 2006
@@ -31,7 +31,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.jms.BytesMessage;
import javax.jms.MessageListener;
import javax.xml.namespace.QName;
import java.io.BufferedInputStream;
@@ -254,11 +253,16 @@
}
public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
+ EndpointReference[] epRsForService = getEPRsForService(serviceName, ip);
+ return epRsForService != null ? epRsForService[0] : null;
+ }
+
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault {
try {
JMSURLHelper url = new JMSURLHelper("jms:/" + destination);
if (url != null && url.getProperties() != null && properties != null) {
url.getProperties().putAll(properties);
- return new EndpointReference(url.getURLString());
+ return new EndpointReference[] {new EndpointReference(url.getURLString())};
} else {
return null;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java Tue Sep 12 02:44:02 2006
@@ -272,7 +272,11 @@
* @see org.apache.axis2.transport.TransportListener#replyToEPR(java.lang.String)
*/
public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
- return new EndpointReference(Constants.TRANSPORT_MAIL + ":" + replyTo + configurationContext.getServiceContextPath() + "/" + serviceName);//Constants.TRANSPORT_MAIL +
+ return getEPRsForService(serviceName, ip)[0];
+ }
+
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault {
+ return new EndpointReference[] {new EndpointReference(Constants.TRANSPORT_MAIL + ":" + replyTo + configurationContext.getServiceContextPath() + "/" + serviceName)}; //To change body of implemented methods use File | Settings | File Templates.
}
public void setDoThreads(boolean value) {
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/njms/JMSListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/njms/JMSListener.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/njms/JMSListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/njms/JMSListener.java Tue Sep 12 02:44:02 2006
@@ -315,6 +315,18 @@
}
/**
+ * Returns EPRs for the given service and IP. (Picks up precomputed EPR)
+ *
+ * @param serviceName service name
+ * @param ip ignored
+ * @return the EPR for the service
+ * @throws AxisFault not used
+ */
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault {
+ return new EndpointReference[]{new EndpointReference((String) serviceNameToEprMap.get(serviceName))};
+ }
+
+ /**
* Returns the EPR for the given service and IP. (Picks up precomputed EPR)
*
* @param serviceName service name
@@ -323,7 +335,7 @@
* @throws AxisFault not used
*/
public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
- return new EndpointReference((String) serviceNameToEprMap.get(serviceName));
+ return getEPRsForService(serviceName, ip)[0];
}
/**
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java?view=diff&rev=442546&r1=442545&r2=442546
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/tcp/TCPServer.java Tue Sep 12 02:44:02 2006
@@ -184,11 +184,16 @@
* @see org.apache.axis2.transport.TransportListener#getEPRForService(String, String)
*/
public EndpointReference getEPRForService(String serviceName, String ip) throws AxisFault {
+ EndpointReference[] epRsForService = getEPRsForService(serviceName, ip);
+ return epRsForService != null ? epRsForService[0] : null;
+ }
+
+ public EndpointReference[] getEPRsForService(String serviceName, String ip) throws AxisFault {
//if host address is present
if (hostAddress != null) {
if (serversocket != null) {
// todo this has to fix
- return new EndpointReference(hostAddress + "/" + contextPath + serviceName);
+ return new EndpointReference[] {new EndpointReference(hostAddress + "/" + contextPath + serviceName)};
} else {
log.debug("Unable to generate EPR for the transport tcp");
return null;
@@ -203,8 +208,8 @@
}
if (serversocket != null) {
// todo this has to fix
- return new EndpointReference("tcp://" + ip + ":" + (serversocket.getLocalPort())
- + "/" + contextPath + "/" + serviceName);
+ return new EndpointReference[] {new EndpointReference("tcp://" + ip + ":" + (serversocket.getLocalPort())
+ + "/" + contextPath + "/" + serviceName)};
} else {
log.debug("Unable to generate EPR for the transport tcp");
return null;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org