[jboss-svn-commits] JBossWS SVN: r738 - in branches/tdiesler/trunk/src: main/java/org/jboss/ws/deployment main/java/org/jboss/ws/jaxws/client main/java/org/jboss/ws/jaxws/core main/java/org/jboss/ws/jaxws/handler main/java/org/jboss/ws/jaxws/spi main/java/org/jboss/ws/metadata test/ant test/java/org/jboss/test/ws/jaxws/handlerscope test/java/org/jboss/test/ws/jsr181/handlerchain test/java/org/jboss/test/ws/samples/wsaddressing test/resources/jaxws/handlerscope test/resources/jaxws/handlerscope/META-INF test/resources/jaxws/handlerscope/WEB-INF
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Aug 13 16:45:44 EDT 2006
Author: thomas.diesler at jboss.com
Date: 2006-08-13 16:45:16 -0400 (Sun, 13 Aug 2006)
New Revision: 738
Added:
branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/
branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml
branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml
Removed:
branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java
branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml
Modified:
branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
branches/tdiesler/trunk/src/test/ant/build-jars.xml
branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java
branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java
branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java
branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java
branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java
branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java
branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java
Log:
client side handler scoping
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181ClientMetaDataBuilder.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -22,6 +22,9 @@
// $Id$
package org.jboss.ws.deployment;
+import javax.jws.HandlerChain;
+import javax.jws.soap.SOAPBinding;
+
import org.jboss.logging.Logger;
import org.jboss.ws.metadata.EndpointMetaData;
@@ -40,12 +43,14 @@
{
log.debug("START: rebuildMetaData");
- processSOAPBinding(epMetaData, wsClass);
+ if (wsClass.isAnnotationPresent(SOAPBinding.class))
+ processSOAPBinding(epMetaData, wsClass);
+ if (wsClass.isAnnotationPresent(HandlerChain.class))
+ processHandlerChain(epMetaData, wsClass);
+
processWebMethods(epMetaData, wsClass, true);
- epMetaData.setServiceEndpointInterfaceName(wsClass.getName());
-
epMetaData.eagerInitialize();
log.debug("END: rebuildMetaData\n" + epMetaData.getServiceMetaData());
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/deployment/JSR181MetaDataBuilder.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -23,9 +23,11 @@
// $Id$
+import java.io.File;
import java.io.InputStream;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
+import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;
import java.util.ArrayList;
@@ -125,7 +127,7 @@
String name = anWebService.name();
if (name.length() == 0)
name = wsdlUtils.getJustClassName(wsClass);
-
+
String serviceName = anWebService.serviceName();
if (serviceName.length() == 0)
serviceName = name + "Service";
@@ -153,24 +155,20 @@
// Process an optional @SOAPBinding annotation
if (wsClass.isAnnotationPresent(SOAPBinding.class))
- {
processSOAPBinding(sepMetaData, wsClass);
- }
// Process an optional @BindingType annotation
if (wsClass.isAnnotationPresent(BindingType.class))
- {
processBindingType(sepMetaData, wsClass);
- }
boolean includeAllMethods = (wsClass == seiClass);
processWebMethods(sepMetaData, wsClass, includeAllMethods);
// Process an optional @HandlerChain annotation
if (sepClass.isAnnotationPresent(HandlerChain.class))
- processHandlerChain(sepClass, sepMetaData);
+ processHandlerChain(sepMetaData, sepClass);
else if (wsClass.isAnnotationPresent(HandlerChain.class))
- processHandlerChain(wsClass, sepMetaData);
+ processHandlerChain(sepMetaData, wsClass);
// Process an optional @SOAPMessageHandlers annotation
if (sepClass.isAnnotationPresent(SOAPMessageHandlers.class) || wsClass.isAnnotationPresent(SOAPMessageHandlers.class))
@@ -197,27 +195,21 @@
protected void processSOAPBinding(EndpointMetaData epMetaData, Class wsClass)
{
- epMetaData.setStyle(null);
- epMetaData.setEncoding(null);
- epMetaData.setParameterStyle(null);
-
SOAPBinding anSoapBinding = (SOAPBinding)wsClass.getAnnotation(SOAPBinding.class);
- if (anSoapBinding != null)
- {
- SOAPBinding.Style attrStyle = anSoapBinding.style();
- Style style = (attrStyle == SOAPBinding.Style.RPC ? Style.RPC : Style.DOCUMENT);
- epMetaData.setStyle(style);
- SOAPBinding.Use attrUse = anSoapBinding.use();
- if (attrUse == SOAPBinding.Use.ENCODED)
- throw new WSException("SOAP encoding is not supported for JSR-181 deployments");
+ SOAPBinding.Style attrStyle = anSoapBinding.style();
+ Style style = (attrStyle == SOAPBinding.Style.RPC ? Style.RPC : Style.DOCUMENT);
+ epMetaData.setStyle(style);
- epMetaData.setEncoding(Use.LITERAL);
+ SOAPBinding.Use attrUse = anSoapBinding.use();
+ if (attrUse == SOAPBinding.Use.ENCODED)
+ throw new WSException("SOAP encoding is not supported for JSR-181 deployments");
- SOAPBinding.ParameterStyle attrParamStyle = anSoapBinding.parameterStyle();
- ParameterStyle paramStyle = (attrParamStyle == SOAPBinding.ParameterStyle.BARE ? ParameterStyle.BARE : ParameterStyle.WRAPPED);
- epMetaData.setParameterStyle(paramStyle);
- }
+ epMetaData.setEncoding(Use.LITERAL);
+
+ SOAPBinding.ParameterStyle attrParamStyle = anSoapBinding.parameterStyle();
+ ParameterStyle paramStyle = (attrParamStyle == SOAPBinding.ParameterStyle.BARE ? ParameterStyle.BARE : ParameterStyle.WRAPPED);
+ epMetaData.setParameterStyle(paramStyle);
}
private WebParam getWebParamAnnotation(Method method, int pos)
@@ -264,7 +256,7 @@
if (webMethodCount == 0)
throw new WSException("At least one @WebMethod annotation is required");
}
-
+
private void processWebMethod(EndpointMetaData epMetaData, Method method)
{
ServiceMetaData serviceMetaData = epMetaData.getServiceMetaData();
@@ -490,18 +482,62 @@
}
// Process an optional @HandlerChain annotation
- private void processHandlerChain(Class wsClass, ServerEndpointMetaData epMetaData)
+ protected void processHandlerChain(EndpointMetaData epMetaData, Class wsClass)
{
if (wsClass.isAnnotationPresent(SOAPMessageHandlers.class))
throw new WSException("Cannot combine @HandlerChain with @SOAPMessageHandlers");
HandlerChain anHandlerChain = (HandlerChain)wsClass.getAnnotation(HandlerChain.class);
- String handlerChainFile = anHandlerChain.file();
+ URL fileURL = null;
+ String filename = anHandlerChain.file();
+
+ // Try the filename as URL
try
{
+ fileURL = new URL(filename);
+ }
+ catch (MalformedURLException ex)
+ {
+ // ignore
+ }
+
+ // Try the filename as File
+ try
+ {
+ fileURL = new URL(filename);
+ }
+ catch (MalformedURLException ex)
+ {
+ // ignore
+ }
+
+ if (fileURL == null)
+ {
+ try
+ {
+ File file = new File(filename);
+ if (file.exists())
+ fileURL = file.toURL();
+ }
+ catch (MalformedURLException e)
+ {
+ // ignore
+ }
+ }
+
+ // Try the filename as Resource
+ if (fileURL == null)
+ {
+ fileURL = epMetaData.getResourceLoader().getResource(filename);
+ }
+
+ if (fileURL == null)
+ throw new WSException("Cannot resolve URL to handler file: " + filename);
+
+ try
+ {
HandlerChainsMetaData handlerConfigMetaData = null;
- URL fileURL = new URL(handlerChainFile);
InputStream is = fileURL.openStream();
try
{
@@ -530,7 +566,7 @@
}
catch (Exception ex)
{
- throw new WSException("Cannot process handler chain: " + handlerChainFile, ex);
+ throw new WSException("Cannot process handler chain: " + filename, ex);
}
}
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/client/ClientImpl.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -34,18 +34,14 @@
import javax.xml.ws.handler.HandlerResolver;
import javax.xml.ws.handler.MessageContext;
-import org.jboss.ws.WSException;
import org.jboss.ws.common.CommonClient;
import org.jboss.ws.common.SOAPMessageContextBase;
import org.jboss.ws.jaxws.core.BindingImpl;
import org.jboss.ws.jaxws.handler.HandlerChainExecutor;
-import org.jboss.ws.jaxws.handler.HandlerWrapper;
import org.jboss.ws.jaxws.handler.MessageContextJAXWS;
import org.jboss.ws.jaxws.handler.PortInfoImpl;
import org.jboss.ws.jaxws.handler.SOAPMessageContextJAXWS;
import org.jboss.ws.metadata.EndpointMetaData;
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData;
-import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
import org.jboss.ws.soap.MessageContextAssociation;
/**
@@ -67,48 +63,14 @@
private void initBindingHandlerChain(EndpointMetaData epMetaData, HandlerResolver handlerResolver)
{
BindingImpl binding = (BindingImpl)getBindingProvider().getBinding();
- for (UnifiedHandlerMetaData handlerMetaData : epMetaData.getHandlers(HandlerType.PRE))
- {
- Class hClass;
- String handlerClass = handlerMetaData.getHandlerClass();
- try
- {
- // Load the handler class using the deployments top level CL
- ClassLoader classLoader = epMetaData.getClassLoader();
- hClass = classLoader.loadClass(handlerClass);
- Handler handler = (Handler)hClass.newInstance();
- binding.addHandler(new HandlerWrapper(handler));
- }
- catch (Exception e)
- {
- throw new WSException("Cannot load handler class: " + handlerClass);
- }
- }
if (handlerResolver != null)
{
PortInfoImpl portInfo = new PortInfoImpl(epMetaData);
for (Handler handler : handlerResolver.getHandlerChain(portInfo))
{
- binding.addHandler(new HandlerWrapper(handler));
+ binding.addHandler(handler);
}
}
- for (UnifiedHandlerMetaData handlerMetaData : epMetaData.getHandlers(HandlerType.POST))
- {
- Class hClass;
- String handlerClass = handlerMetaData.getHandlerClass();
- try
- {
- // Load the handler class using the deployments top level CL
- ClassLoader classLoader = epMetaData.getClassLoader();
- hClass = classLoader.loadClass(handlerClass);
- Handler handler = (Handler)hClass.newInstance();
- binding.addHandler(new HandlerWrapper(handler));
- }
- catch (Exception e)
- {
- throw new WSException("Cannot load handler class: " + handlerClass);
- }
- }
}
@Override
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/core/BindingImpl.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -29,13 +29,9 @@
import javax.xml.namespace.QName;
import javax.xml.ws.Binding;
-import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.Handler;
-import javax.xml.ws.http.HTTPBinding;
-import javax.xml.ws.soap.SOAPBinding;
import org.jboss.logging.Logger;
-import org.jboss.util.NotImplementedException;
import org.jboss.ws.binding.BindingException;
import org.jboss.ws.binding.EndpointInvocation;
import org.jboss.ws.binding.UnboundHeader;
@@ -51,7 +47,7 @@
{
// provide logging
private static Logger log = Logger.getLogger(BindingImpl.class);
-
+
private List<Handler> handlerChain = new ArrayList<Handler>();
/** On the client side, generate the Object from IN parameters. */
@@ -64,19 +60,20 @@
public abstract Object bindResponseMessage(OperationMetaData opMetaData, EndpointInvocation epInv) throws BindingException;
/** On the client side, extract the OUT parameters from the Object and return them to the client. */
- public abstract void unbindResponseMessage(OperationMetaData opMetaData, Object resMessage, EndpointInvocation epInv, Map<QName, UnboundHeader> unboundHeaders) throws BindingException;
-
+ public abstract void unbindResponseMessage(OperationMetaData opMetaData, Object resMessage, EndpointInvocation epInv, Map<QName, UnboundHeader> unboundHeaders)
+ throws BindingException;
+
public List<Handler> getHandlerChain()
{
return handlerChain;
}
-
+
public void addHandler(Handler handler)
{
log.debug("addHandler: " + handler);
handlerChain.add(handler);
}
-
+
public void setHandlerChain(List<Handler> handlerChain)
{
log.debug("setHandlerChain: " + handlerChain);
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/GenericHandler.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -76,6 +76,6 @@
public String toString()
{
- return "[" + handlerName + "]";
+ return (handlerName != null ? handlerName : super.toString());
}
}
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerChainExecutor.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -46,7 +46,7 @@
private static Logger log = Logger.getLogger(HandlerChainExecutor.class);
// The List<Entry> objects
- protected List<HandlerWrapper> handlers = new ArrayList<HandlerWrapper>();
+ protected List<Handler> handlers = new ArrayList<Handler>();
// The index of the first handler that returned false during processing
protected int falseIndex = -1;
@@ -58,8 +58,7 @@
log.debug("Create a handler executor: " + handlerList);
for (Handler handler : handlerList)
{
- HandlerWrapper wrapper = new HandlerWrapper(handler);
- handlers.add(wrapper);
+ handlers.add(handler);
}
}
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerResolverImpl.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -254,7 +254,7 @@
return infos;
}
- private boolean addHandler(PortInfo info, Handler handler)
+ public boolean addHandler(PortInfo info, Handler handler)
{
log.debug("addHandler: " + info + ":" + handler);
Deleted: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/handler/HandlerWrapper.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -1,161 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.jaxws.handler;
-
-// $Id$
-
-import javax.xml.ws.handler.Handler;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.soap.SOAPFaultException;
-
-import org.jboss.logging.Logger;
-
-/**
- * A wrapper arround a {@link javax.xml.ws.handler.Handler} that takes care of its lifecycle.
- *
- * @author thomas.diesler at jboss.org
- */
-public class HandlerWrapper implements Handler
-{
- private static Logger log = Logger.getLogger(HandlerWrapper.class);
-
- public final static int DOES_NOT_EXIST = 0;
- public final static int METHOD_READY = 1;
-
- // The states as string
- private static String[] stateNames = new String[] { "DOES_NOT_EXIST", "METHOD_READY" };
-
- // The handler to delegate to
- private Handler delegate;
- // The handler state
- private int state;
-
- /**
- * Delegate to the given handler
- */
- public HandlerWrapper(Handler handler)
- {
- if (handler instanceof HandlerWrapper)
- throw new IllegalArgumentException("Nested handler wrapper");
-
- delegate = handler;
- state = METHOD_READY;
- }
-
- /**
- * Get the current state
- */
- public int getState()
- {
- return state;
- }
-
- /**
- * Get the current state as string
- */
- public String getStateAsString()
- {
- return stateNames[state];
- }
-
- /**
- * The destroy method indicates the end of lifecycle for a Handler instance.
- */
- public void close(MessageContext context)
- {
- log.debug("close: " + delegate);
- state = DOES_NOT_EXIST;
- delegate.close(context);
- }
-
- /**
- * The handleRequest method processes the request message.
- */
- public boolean handleMessage(MessageContext context)
- {
- if (state == DOES_NOT_EXIST)
- {
- log.warn("Handler is in state DOES_NOT_EXIST, skipping Handler.handleRequest for: " + delegate);
- return true;
- }
-
- try
- {
- return delegate.handleMessage(context);
- }
- catch (RuntimeException e)
- {
- return handleRuntimeException(context, e);
- }
- }
-
- /**
- * The handleFault method processes the SOAP faults based on the SOAP message processing model.
- */
- public boolean handleFault(MessageContext context)
- {
- if (state == DOES_NOT_EXIST)
- {
- log.warn("Handler is in state DOES_NOT_EXIST, skipping Handler.handleFault for: " + delegate);
- return true;
- }
-
- try
- {
- return delegate.handleFault(context);
- }
- catch (RuntimeException e)
- {
- return handleRuntimeException(context, e);
- }
- }
-
- /**
- * As defined by JAX-RPC, a RuntimeException(other than SOAPFaultException) thrown from any method of
- * the Handler results in the destroymethod being invoked and transition to the �Does Not Exist� state.
- */
- private boolean handleRuntimeException(MessageContext context, RuntimeException e)
- {
- if ((e instanceof SOAPFaultException) == false)
- {
- log.warn("RuntimeException in handler method, transition to DOES_NOT_EXIST");
- close(context);
- }
- throw e;
- }
-
- /**
- * Returns a hash code value for the object.
- */
- public int hashCode()
- {
- return delegate.hashCode();
- }
-
- /**
- * Returns a string representation of the object.
- */
- public String toString()
- {
- return "[state=" + getStateAsString() + ",handler=" + delegate.getClass().getName() + "]";
- }
-}
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/jaxws/spi/ServiceDelegateImpl.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -55,6 +55,7 @@
import org.jboss.ws.metadata.EndpointMetaData;
import org.jboss.ws.metadata.ServiceMetaData;
import org.jboss.ws.metadata.EndpointMetaData.Type;
+import org.jboss.ws.metadata.j2ee.UnifiedHandlerMetaData.HandlerType;
/**
* Service delegates are used internally by Service objects to allow pluggability of JAX-WS implementations.
@@ -107,21 +108,52 @@
@Override
public <T> T getPort(QName portName, Class<T> seiClass)
{
+ if (serviceMetaData == null)
+ throw new WebServiceException("Service meta data not available");
+
+ EndpointMetaData epMetaData = serviceMetaData.getEndpoint(portName);
+ if (epMetaData == null)
+ throw new WebServiceException("Cannot get port meta data for: " + portName);
+
+ String seiClassName = seiClass.getName();
+ epMetaData.setServiceEndpointInterfaceName(seiClassName);
+
+ return getPortInternal(epMetaData, seiClass);
+ }
+
+ @Override
+ /**
+ * The getPort method returns a stub. A service client uses this stub to invoke operations on the target service endpoint.
+ * The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy or stub instance.
+ */
+ public <T> T getPort(Class<T> seiClass)
+ {
if (seiClass == null)
- throw new IllegalArgumentException("SEI class cannot be null");
+ throw new IllegalArgumentException("service endpoint interface cannot be null");
if (serviceMetaData == null)
throw new WebServiceException("Service meta data not available");
String seiClassName = seiClass.getName();
+ EndpointMetaData epMetaData = serviceMetaData.getEndpointByServiceEndpointInterface(seiClassName);
- EndpointMetaData epMetaData = null;
+ if (epMetaData == null && serviceMetaData.getEndpoints().size() == 1)
+ {
+ epMetaData = serviceMetaData.getEndpoints().get(0);
+ epMetaData.setServiceEndpointInterfaceName(seiClassName);
+ }
+
+ if (epMetaData == null)
+ throw new WebServiceException("Cannot get port meta data for: " + seiClassName);
+
+ return getPortInternal(epMetaData, seiClass);
+ }
+
+ private <T> T getPortInternal(EndpointMetaData epMetaData, Class<T> seiClass)
+ {
+ QName portName = epMetaData.getQName();
if (seiClass.isAnnotationPresent(WebService.class))
{
- epMetaData = serviceMetaData.getEndpoint(portName);
- if (epMetaData == null)
- throw new WebServiceException("Cannot find endpoint meta data for: " + portName);
-
// Adjust the endpoint meta data according to the annotations
if (annotatedPorts.contains(portName) == false)
{
@@ -129,33 +161,11 @@
metaDataBuilder.rebuildEndpointMetaData(epMetaData, seiClass);
}
}
- else
- {
- epMetaData = serviceMetaData.getEndpointByServiceEndpointInterface(seiClassName);
- if (epMetaData == null && serviceMetaData.getEndpoints().size() == 1)
- {
- epMetaData = serviceMetaData.getEndpoints().get(0);
- epMetaData.setServiceEndpointInterfaceName(seiClassName);
- }
- }
- if (epMetaData == null)
- throw new WebServiceException("Cannot find endpoint meta data for: " + seiClassName);
-
- return createProxy(seiClass, epMetaData);
+ return (T)createProxy(seiClass, epMetaData);
}
@Override
- /**
- * The getPort method returns a stub. A service client uses this stub to invoke operations on the target service endpoint.
- * The serviceEndpointInterface specifies the service endpoint interface that is supported by the created dynamic proxy or stub instance.
- */
- public <T> T getPort(Class<T> seiClass)
- {
- return getPort(null, seiClass);
- }
-
- @Override
/**
* Creates a new port for the service.
* Ports created in this way contain no WSDL port type information
@@ -256,6 +266,14 @@
{
MetaDataSynchronization.synchronizeServiceEndpointInterface(epMetaData, seiClass);
+ if (handlerResolver instanceof HandlerResolverImpl)
+ {
+ HandlerResolverImpl impl = ((HandlerResolverImpl)handlerResolver);
+ impl.initHandlerChain(epMetaData, HandlerType.PRE);
+ impl.initHandlerChain(epMetaData, HandlerType.ENDPOINT);
+ impl.initHandlerChain(epMetaData, HandlerType.POST);
+ }
+
PortProxy handler = new PortProxy(new ClientImpl(epMetaData, handlerResolver));
ClassLoader cl = epMetaData.getClassLoader();
T proxy = (T)Proxy.newProxyInstance(cl, new Class[] { seiClass, BindingProvider.class }, handler);
Modified: branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java
===================================================================
--- branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/main/java/org/jboss/ws/metadata/ServiceMetaData.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -165,9 +165,9 @@
return new ArrayList<EndpointMetaData>(endpoints.values());
}
- public EndpointMetaData getEndpoint(QName portTypeName)
+ public EndpointMetaData getEndpoint(QName portName)
{
- return endpoints.get(portTypeName);
+ return endpoints.get(portName);
}
public EndpointMetaData getEndpointByServiceEndpointInterface(String seiName)
Modified: branches/tdiesler/trunk/src/test/ant/build-jars.xml
===================================================================
--- branches/tdiesler/trunk/src/test/ant/build-jars.xml 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/ant/build-jars.xml 2006-08-13 20:45:16 UTC (rev 738)
@@ -390,7 +390,7 @@
<include name="org/jboss/test/ws/jaxws/handlerscope/ServerHandler.class"/>
</classes>
<webinf dir="${build.test.dir}/resources/jaxws/handlerscope/WEB-INF">
- <include name="jaxws-handlers.xml"/>
+ <include name="jaxws-server-handlers.xml"/>
</webinf>
</war>
Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/ClientHandler.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -26,11 +26,9 @@
import javax.xml.soap.SOAPMessage;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.PortInfo;
import javax.xml.ws.handler.soap.SOAPMessageContext;
import org.jboss.ws.jaxws.handler.GenericSOAPHandler;
-import org.jboss.ws.jaxws.handler.PortInfoImpl;
/**
* A client side handler for the ws-addressing
@@ -46,10 +44,11 @@
{
SOAPMessage soapMessage = ((SOAPMessageContext)msgContext).getMessage();
SOAPElement soapElement = (SOAPElement)soapMessage.getSOAPBody().getChildElements().next();
+ soapElement = (SOAPElement)soapElement.getChildElements().next();
String value = soapElement.getValue();
- PortInfo portInfo = getPortInfo();
- soapElement.setValue(value + ":" + portInfo);
+ String handlerName = getHandlerName();
+ soapElement.setValue(value + ":" + handlerName);
return true;
}
@@ -68,8 +67,8 @@
soapElement = (SOAPElement)soapElement.getChildElements().next();
String value = soapElement.getValue();
- PortInfo portInfo = getPortInfo();
- soapElement.setValue(value + ":" + portInfo);
+ String handlerName = getHandlerName();
+ soapElement.setValue(value + ":" + handlerName);
return true;
}
Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/HandlerScopeTestCase.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -23,6 +23,7 @@
// $Id: $
+import java.io.File;
import java.net.URL;
import javax.xml.namespace.QName;
@@ -56,21 +57,35 @@
String retStr = port.echo("hello");
StringBuffer expStr = new StringBuffer("hello");
- expStr.append(":SOAP12Handler");
- expStr.append(":SOAPHandler");
- expStr.append(":ServiceHandler");
- expStr.append(":ServiceWildcardHandler");
- expStr.append(":PortHandler");
- expStr.append(":PortWildcardHandler");
- expStr.append(":GeneralHandler");
+ expStr.append(":SOAP12ClientHandler");
+ expStr.append(":SOAPClientHandler");
+ expStr.append(":ServiceClientHandler");
+ expStr.append(":ServiceWildcardClientHandler");
+ expStr.append(":PortClientHandler");
+ expStr.append(":PortWildcardClientHandler");
+ expStr.append(":GeneralClientHandler");
+ expStr.append(":SOAP12ServerHandler");
+ expStr.append(":SOAPServerHandler");
+ expStr.append(":ServiceServerHandler");
+ expStr.append(":ServiceWildcardServerHandler");
+ expStr.append(":PortServerHandler");
+ expStr.append(":PortWildcardServerHandler");
+ expStr.append(":GeneralServerHandler");
expStr.append(":endpoint");
- expStr.append(":GeneralHandler");
- expStr.append(":PortWildcardHandler");
- expStr.append(":PortHandler");
- expStr.append(":ServiceWildcardHandler");
- expStr.append(":ServiceHandler");
- expStr.append(":SOAPHandler");
- expStr.append(":SOAP12Handler");
+ expStr.append(":GeneralServerHandler");
+ expStr.append(":PortWildcardServerHandler");
+ expStr.append(":PortServerHandler");
+ expStr.append(":ServiceWildcardServerHandler");
+ expStr.append(":ServiceServerHandler");
+ expStr.append(":SOAPServerHandler");
+ expStr.append(":SOAP12ServerHandler");
+ expStr.append(":GeneralClientHandler");
+ expStr.append(":PortWildcardClientHandler");
+ expStr.append(":PortClientHandler");
+ expStr.append(":ServiceWildcardClientHandler");
+ expStr.append(":ServiceClientHandler");
+ expStr.append(":SOAPClientHandler");
+ expStr.append(":SOAP12ClientHandler");
assertEquals(expStr.toString(), retStr);
}
}
Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpoint.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -21,9 +21,16 @@
*/
package org.jboss.test.ws.jaxws.handlerscope;
-// $Id: $
+//$Id: $
+import javax.jws.HandlerChain;
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+
+ at WebService
+ at HandlerChain(file = "resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml")
public interface SOAPEndpoint
{
+ @WebMethod
public String echo(String msg);
}
Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jaxws/handlerscope/SOAPEndpointBean.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -34,9 +34,9 @@
@WebService(name = "SOAPEndpoint", targetNamespace = "http://org.jboss.ws/jaxws/handlerscope")
@BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/") // SOAP-1.2
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at HandlerChain(file = "WEB-INF/jaxws-server-handlers.xml")
@SOAPBinding(style = Style.RPC)
-public class SOAPEndpointBean implements SOAPEndpoint
+public class SOAPEndpointBean
{
private static Logger log = Logger.getLogger(SOAPEndpointBean.class);
Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/EndpointImpl.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -36,7 +36,7 @@
*/
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at HandlerChain(file = "WEB-INF/jaxws-handlers.xml")
public class EndpointImpl implements Endpoint
{
// Provide logging
Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/jsr181/handlerchain/JSR181HandlerChainTestCase.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -63,7 +63,6 @@
handlerChain.add(new LogHandler());
handlerChain.add(new AuthorizationHandler());
handlerChain.add(new RoutingHandler());
- bindingProvider.getBinding().setHandlerChain(handlerChain);
String retObj = port.echo("Kermit");
assertEquals("Kermit|LogOut|AuthOut|RoutOut|LogIn|AuthIn|RoutIn|endpoint|RoutOut|AuthOut|LogOut|RoutIn|AuthIn|LogIn", retObj);
Modified: branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java
===================================================================
--- branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/java/org/jboss/test/ws/samples/wsaddressing/StatefulEndpointImpl.java 2006-08-13 20:45:16 UTC (rev 738)
@@ -48,7 +48,7 @@
*/
@WebService(name = "StatefulEndpoint", targetNamespace = "http://org.jboss.ws/samples/wsaddressing", serviceName = "TestService")
@PortComponent(configName = "Standard WSAddressing Endpoint")
- at HandlerChain(file = "resource://WEB-INF/jaxws-handlers.xml")
+ at HandlerChain(file = "WEB-INF/jaxws-handlers.xml")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class StatefulEndpointImpl implements StatefulEndpoint
{
Added: branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/META-INF/jaxws-client-handlers.xml 2006-08-13 20:45:16 UTC (rev 738)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ns1="http://org.jboss.ws/jaxws/handlerscope"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
+
+ <handler-chain>
+ <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+ <handler>
+ <handler-name> SOAP11ClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <protocol-bindings>##SOAP12_HTTP</protocol-bindings>
+ <handler>
+ <handler-name> SOAP12ClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <protocol-bindings>##SOAP11_HTTP ##SOAP12_HTTP</protocol-bindings>
+ <handler>
+ <handler-name> SOAPClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <service-name-pattern>ns1:SOAPEndpointService</service-name-pattern>
+ <handler>
+ <handler-name> ServiceClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <service-name-pattern>ns1:SOAPEndpointSer*</service-name-pattern>
+ <handler>
+ <handler-name> ServiceWildcardClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <service-name-pattern>ns1:InvalidService</service-name-pattern>
+ <handler>
+ <handler-name> InvalidServiceClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <port-name-pattern>ns1:SOAPEndpointPort</port-name-pattern>
+ <handler>
+ <handler-name> PortClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <port-name-pattern>ns1:SOAPEndpointPo*</port-name-pattern>
+ <handler>
+ <handler-name> PortWildcardClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <port-name-pattern>ns1:InvalidPort</port-name-pattern>
+ <handler>
+ <handler-name> InvalidPortClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <handler>
+ <handler-name> GeneralClientHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ClientHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+</handler-chains>
\ No newline at end of file
Deleted: branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml 2006-08-13 20:45:16 UTC (rev 738)
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ns1="http://org.jboss.ws/jaxws/handlerscope"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
-
- <handler-chain>
- <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
- <handler>
- <handler-name> SOAP11Handler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <protocol-bindings>##SOAP12_HTTP</protocol-bindings>
- <handler>
- <handler-name> SOAP12Handler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <protocol-bindings>##SOAP11_HTTP ##SOAP12_HTTP</protocol-bindings>
- <handler>
- <handler-name> SOAPHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <service-name-pattern>ns1:SOAPEndpointService</service-name-pattern>
- <handler>
- <handler-name> ServiceHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <service-name-pattern>ns1:SOAPEndpointSer*</service-name-pattern>
- <handler>
- <handler-name> ServiceWildcardHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <service-name-pattern>ns1:InvalidService</service-name-pattern>
- <handler>
- <handler-name> InvalidServiceHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <port-name-pattern>ns1:SOAPEndpointPort</port-name-pattern>
- <handler>
- <handler-name> PortHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <port-name-pattern>ns1:SOAPEndpointPo*</port-name-pattern>
- <handler>
- <handler-name> PortWildcardHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <port-name-pattern>ns1:InvalidPort</port-name-pattern>
- <handler>
- <handler-name> InvalidPortHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
- <handler-chain>
- <handler>
- <handler-name> GeneralHandler </handler-name>
- <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
- </handler>
- </handler-chain>
-
-</handler-chains>
\ No newline at end of file
Copied: branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml (from rev 737, branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml)
===================================================================
--- branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-handlers.xml 2006-08-13 17:40:21 UTC (rev 737)
+++ branches/tdiesler/trunk/src/test/resources/jaxws/handlerscope/WEB-INF/jaxws-server-handlers.xml 2006-08-13 20:45:16 UTC (rev 738)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<handler-chains xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ns1="http://org.jboss.ws/jaxws/handlerscope"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee handler-chain.xsd">
+
+ <handler-chain>
+ <protocol-bindings>##SOAP11_HTTP</protocol-bindings>
+ <handler>
+ <handler-name> SOAP11ServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <protocol-bindings>##SOAP12_HTTP</protocol-bindings>
+ <handler>
+ <handler-name> SOAP12ServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <protocol-bindings>##SOAP11_HTTP ##SOAP12_HTTP</protocol-bindings>
+ <handler>
+ <handler-name> SOAPServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <service-name-pattern>ns1:SOAPEndpointService</service-name-pattern>
+ <handler>
+ <handler-name> ServiceServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <service-name-pattern>ns1:SOAPEndpointSer*</service-name-pattern>
+ <handler>
+ <handler-name> ServiceWildcardServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <service-name-pattern>ns1:InvalidService</service-name-pattern>
+ <handler>
+ <handler-name> InvalidServiceServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <port-name-pattern>ns1:SOAPEndpointPort</port-name-pattern>
+ <handler>
+ <handler-name> PortServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <port-name-pattern>ns1:SOAPEndpointPo*</port-name-pattern>
+ <handler>
+ <handler-name> PortWildcardServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <port-name-pattern>ns1:InvalidPort</port-name-pattern>
+ <handler>
+ <handler-name> InvalidPortServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+ <handler-chain>
+ <handler>
+ <handler-name> GeneralServerHandler </handler-name>
+ <handler-class> org.jboss.test.ws.jaxws.handlerscope.ServerHandler </handler-class>
+ </handler>
+ </handler-chain>
+
+</handler-chains>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list