svn commit: r948006 - /axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml
Author: veithen Date: Tue May 25 11:40:50 2010 New Revision: 948006 URL: http://svn.apache.org/viewvc?rev=948006&view=rev Log: Temporarily reverted r947705, which is causing build failures. Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml Modified: axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml?rev=948006&r1=948005&r2=948006&view=diff == --- axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml (original) +++ axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/deployment/axis2_default.xml Tue May 25 11:40:50 2010 @@ -88,12 +88,6 @@ class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> http://www.w3.org/2006/01/wsdl/in-out"; class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> -http://www.w3.org/ns/wsdl/in-only"; - class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> -http://www.w3.org/ns/wsdl/robust-in-only"; - class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> -http://www.w3.org/ns/wsdl/in-out"; - class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
svn commit: r948144 - /axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java
Author: veithen Date: Tue May 25 18:06:27 2010 New Revision: 948144 URL: http://svn.apache.org/viewvc?rev=948144&view=rev Log: As pointed out by Hiranya Jayathilaka, AbstractTransportListenerEx should start and stop transport level protocol endpoints in the start/stop methods instead of the init/destroy methods. Modified: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java Modified: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java URL: http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java?rev=948144&r1=948143&r2=948144&view=diff == --- axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java (original) +++ axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/AbstractTransportListenerEx.java Tue May 25 18:06:27 2010 @@ -43,10 +43,9 @@ public abstract class AbstractTransportL extends AbstractTransportListener { /** - * The collection of protocol specific endpoints managed by this transport. - * This includes endpoints configured at the transport level. + * The collection of protocol specific endpoints configured at the service level. */ -private List endpoints = new ArrayList(); +private List serviceEndpoints = new ArrayList(); /** * The endpoint configured at the transport level. null if no @@ -66,8 +65,6 @@ public abstract class AbstractTransportL E endpoint = createEndpoint(); endpoint.init(this, null); if (endpoint.loadConfiguration(transportIn)) { -startEndpoint(endpoint); -endpoints.add(endpoint); globalEndpoint = endpoint; } } @@ -82,21 +79,23 @@ public abstract class AbstractTransportL protected abstract void doInit() throws AxisFault; @Override -public void destroy() { -// Explicitly stop all endpoints not predispatched to services. All other endpoints will -// be stopped by stopListeningForService. -List endpointsToStop = new ArrayList(); -for (E endpoint : endpoints) { -if (endpoint.getService() == null) { -endpointsToStop.add(endpoint); -} +public void start() throws AxisFault { +super.start(); +// Explicitly start the endpoint configured at the transport level. All other endpoints will +// be started by startListeningForService. +if (globalEndpoint != null) { +startEndpoint(globalEndpoint); } -for (E endpoint : endpointsToStop) { -stopEndpoint(endpoint); -endpoints.remove(endpoint); +} + +@Override +public void stop() throws AxisFault { +super.stop(); +// Explicitly stop the endpoint configured at the transport level. All other endpoints will +// be stopped by stopListeningForService. +if (globalEndpoint != null) { +stopEndpoint(globalEndpoint); } - -super.destroy(); } @Override @@ -109,9 +108,9 @@ public abstract class AbstractTransportL if (serviceName.indexOf('.') != -1) { serviceName = serviceName.substring(0, serviceName.indexOf('.')); } -for (E endpoint : endpoints) { +for (E endpoint : serviceEndpoints) { AxisService service = endpoint.getService(); -if (service != null && service.getName().equals(serviceName)) { +if (service.getName().equals(serviceName)) { return endpoint.getEndpointReferences(service, ip); } } @@ -132,8 +131,21 @@ public abstract class AbstractTransportL } } +/** + * Get the collection of all protocol endpoints managed by this transport, including the + * endpoint configured at the transport level. + * + * @return the collection of all protocol endpoints + */ public final Collection getEndpoints() { -return Collections.unmodifiableCollection(endpoints); +if (globalEndpoint == null) { +return Collections.unmodifiableCollection(serviceEndpoints); +} else { +List endpoints = new ArrayList(serviceEndpoints.size() + 1); +endpoints.add(globalEndpoint); +endpoints.addAll(serviceEndpoints); +return endpoints; +} } protected abstract E createEndpoint(); @@ -144,7 +156,7 @@ public abstract class AbstractTransportL endpoint.init(this, service); if (endpoint.loadConfiguration(service)) { startEndpoint(endpoint); -endpoints.
svn commit: r948188 - in /axis/axis2/java/transports/trunk: modules/base/src/main/java/org/apache/axis2/transport/base/ modules/base/src/main/java/org/apache/axis2/transport/base/datagram/ modules/udp
Author: veithen Date: Tue May 25 19:25:09 2010 New Revision: 948188 URL: http://svn.apache.org/viewvc?rev=948188&view=rev Log: Making some progress with the SOAP/UDP scenario with WS-Addressing based dispatching. Modified: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/ProtocolEndpoint.java axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java axis/axis2/java/transports/trunk/modules/udp/src/main/java/org/apache/axis2/transport/udp/Endpoint.java axis/axis2/java/transports/trunk/modules/udp/src/main/java/org/apache/axis2/transport/udp/UDPSender.java axis/axis2/java/transports/trunk/src/site/apt/udp.apt Modified: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/ProtocolEndpoint.java URL: http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/ProtocolEndpoint.java?rev=948188&r1=948187&r2=948188&view=diff == --- axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/ProtocolEndpoint.java (original) +++ axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/ProtocolEndpoint.java Tue May 25 19:25:09 2010 @@ -22,6 +22,7 @@ import javax.xml.namespace.QName; import org.apache.axis2.AxisFault; import org.apache.axis2.addressing.EndpointReference; +import org.apache.axis2.context.ConfigurationContext; import org.apache.axis2.context.MessageContext; import org.apache.axis2.description.AxisOperation; import org.apache.axis2.description.AxisService; @@ -53,8 +54,23 @@ public abstract class ProtocolEndpoint { return service; } +/** + * Get the name of the service to which messages received by this endpoint are pre-dispatched. + * + * @return the name of the service, or null if message are not pre-dispatched + */ public final String getServiceName() { -return service.getName(); +return service == null ? null : service.getName(); +} + +/** + * Get the Axis2 configuration context. This is a convenience method that can be used by + * subclasses to get the {...@link ConfigurationContext} object from the listener. + * + * @return the configuration context + */ +protected final ConfigurationContext getConfigurationContext() { +return listener.getConfigurationContext(); } /** @@ -93,6 +109,16 @@ public abstract class ProtocolEndpoint { */ public abstract EndpointReference[] getEndpointReferences(AxisService service, String ip) throws AxisFault; +/** + * Get a short description of this endpoint suitable for inclusion in log messages. + * + * @return a short description of the endpoint + */ +// TODO: we should implement this method in all derived transports and make it abstract here +public String getDescription() { +return toString(); +} + public MessageContext createMessageContext() throws AxisFault { MessageContext msgContext = listener.createMessageContext(); Modified: axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java URL: http://svn.apache.org/viewvc/axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java?rev=948188&r1=948187&r2=948188&view=diff == --- axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java (original) +++ axis/axis2/java/transports/trunk/modules/base/src/main/java/org/apache/axis2/transport/base/datagram/AbstractDatagramTransportListener.java Tue May 25 19:25:09 2010 @@ -70,12 +70,10 @@ public abstract class AbstractDatagramTr dispatcher.addEndpoint(endpoint); } catch (IOException ex) { // TODO: passing endpoint.getService() is not correct because it may be null -throw new AxisFault("Unable to listen on endpoint " -+ endpoint.getEndpointReferences(endpoint.getService(), defaultIp)[0], ex); +throw new AxisFault("Unable to listen on endpoint " + endpoint.getDescription(), ex); } if (log.isDebugEnabled()) { -log.debug("Started listening on endpoint " + -endpoint.getEndpointReferences(endpoint.getService(), defaultIp)[0] + +log.debug("Started listening on endpoint " + endpoint.getDescription() + " [contentType=" + endpoint.getContentType() + "; service=" + endpoint.getSer