Author: thomas.diesler(a)jboss.com
Date: 2007-01-22 07:49:11 -0500 (Mon, 22 Jan 2007)
New Revision: 2021
Modified:
trunk/build/etc/jbossws-component-info.xml
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceObjectFactory.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerResolverImpl.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/HandlerChainClient.java
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/JSR181HandlerChainTestCase.java
trunk/jbossws-tests/src/main/resources/jaxws/jsr181/handlerchain/META-INF/jboss-client.xml
Log:
Fix service-ref/handler-chain test case
Modified: trunk/build/etc/jbossws-component-info.xml
===================================================================
--- trunk/build/etc/jbossws-component-info.xml 2007-01-22 10:22:58 UTC (rev 2020)
+++ trunk/build/etc/jbossws-component-info.xml 2007-01-22 12:49:11 UTC (rev 2021)
@@ -33,6 +33,7 @@
</import>
<import componentref="jboss/remoting">
<compatible version="1.4.5.GA"/>
+ <compatible version="2.2.0.Alpha2"/>
<compatible version="@jboss-remoting@"/>
</import>
<import componentref="sun-jaxb">
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceObjectFactory.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceObjectFactory.java 2007-01-22
10:22:58 UTC (rev 2020)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceObjectFactory.java 2007-01-22
12:49:11 UTC (rev 2021)
@@ -106,8 +106,7 @@
if (Service.class.getName().equals(targetClassName))
targetClassName = serviceClassName;
- log.debug("Service class name: " + serviceClassName);
- log.debug("Target class name: " + targetClassName);
+ log.debug("[name=" + serviceRefName + ",service=" +
serviceClassName + ",target=" + targetClassName + "]");
// Load the service class
ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerResolverImpl.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerResolverImpl.java 2007-01-22
10:22:58 UTC (rev 2020)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/handler/HandlerResolverImpl.java 2007-01-22
12:49:11 UTC (rev 2021)
@@ -111,7 +111,7 @@
log.debug("add general handlers: " + list);
unsortedChain.addAll(list);
}
-
+
// Sort handler logical handlers first
List<Handler> sortedChain = new ArrayList<Handler>();
for (Handler handler : unsortedChain)
@@ -124,7 +124,7 @@
if ((handler instanceof LogicalHandler) == false)
sortedChain.add(handler);
}
-
+
return Collections.unmodifiableList(sortedChain);
}
@@ -133,7 +133,7 @@
log.debug("initHandlerChain: " + type);
// clear all exisisting handler to avoid double registration
- log.debug("Clear handler map: " +handlerMap);
+ log.debug("Clear handler map: " + handlerMap);
for (HandlerMetaData handlerMetaData : epMetaData.getHandlerMetaData(type))
{
@@ -155,7 +155,7 @@
if (handler instanceof GenericSOAPHandler)
((GenericSOAPHandler)handler).setHeaders(soapHeaders);
- List<PortInfo> infos = getPortInfo(epMetaData, jaxwsMetaData);
+ List<PortInfo> infos = getPortInfos(epMetaData, jaxwsMetaData);
for (PortInfo info : infos)
{
addHandler(info, handler);
@@ -172,7 +172,7 @@
}
}
- private List<PortInfo> getPortInfo(EndpointMetaData epMetaData,
HandlerMetaDataJAXWS handlerMetaData)
+ private List<PortInfo> getPortInfos(EndpointMetaData epMetaData,
HandlerMetaDataJAXWS handlerMetaData)
{
String protocols = handlerMetaData.getProtocolBindings();
QName services = handlerMetaData.getServiceNamePattern();
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java 2007-01-22
10:22:58 UTC (rev 2020)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java 2007-01-22
12:49:11 UTC (rev 2021)
@@ -108,8 +108,12 @@
// If this Service was constructed through the ServiceObjectFactory
// this thread local association should be available
usRef = ServiceObjectFactory.getUnifiedServiceRefAssociation();
- if (usRef != null && usRef.getHandlerChain() != null)
- serviceMetaData.setHandlerChain(usRef.getHandlerChain());
+ if (usRef != null)
+ {
+ serviceMetaData.setServiceRefName(usRef.getServiceRefName());
+ if (usRef.getHandlerChain() != null)
+ serviceMetaData.setHandlerChain(usRef.getHandlerChain());
+ }
}
/**
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java 2007-01-22
10:22:58 UTC (rev 2020)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java 2007-01-22
12:49:11 UTC (rev 2021)
@@ -69,6 +69,7 @@
private Map<QName, EndpointMetaData> endpoints = new LinkedHashMap<QName,
EndpointMetaData>();
private QName serviceName;
+ private String serviceRefName;
private String wsdName;
private URL wsdlLocation;
private URL mappingLocation;
@@ -111,6 +112,16 @@
return serviceName;
}
+ public String getServiceRefName()
+ {
+ return serviceRefName;
+ }
+
+ public void setServiceRefName(String serviceRefName)
+ {
+ this.serviceRefName = serviceRefName;
+ }
+
public String getWebserviceDescriptionName()
{
return wsdName;
@@ -376,9 +387,10 @@
{
StringBuilder buffer = new StringBuilder("\nServiceMetaData:");
buffer.append("\n qname=" + serviceName);
+ buffer.append("\n refName=" + serviceRefName);
buffer.append("\n wsdName=" + wsdName);
- buffer.append("\n wsdlFile=" + wsdlLocation);
- buffer.append("\n mappingFile=" + mappingLocation);
+ buffer.append("\n wsdlLocation=" + wsdlLocation);
+ buffer.append("\n jaxrpcMapping=" + mappingLocation);
buffer.append("\n handlerChain=" + handlerChain);
buffer.append("\n publishLocation=" + wsdlPublishLocation);
buffer.append("\n properties=" + properties);
Modified:
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/HandlerChainClient.java
===================================================================
---
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/HandlerChainClient.java 2007-01-22
10:22:58 UTC (rev 2020)
+++
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/HandlerChainClient.java 2007-01-22
12:49:11 UTC (rev 2021)
@@ -41,9 +41,13 @@
@HandlerChain(file = "jaxws-handlers.xml")
static Service service1;
+ // Service2 should have no client side handler chain
@WebServiceRef(name = "Service2")
static Service service2;
+ @WebServiceRef(name = "Service3")
+ static Service service3;
+
public static Map<String, String> testResult = new HashMap<String,
String>();
public static void main(String[] args) throws Exception
@@ -81,4 +85,10 @@
Endpoint port = service2.getPort(Endpoint.class);
return port.echo(reqStr);
}
+
+ public String testService3(String reqStr) throws Exception
+ {
+ Endpoint port = service3.getPort(Endpoint.class);
+ return port.echo(reqStr);
+ }
}
Modified:
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/JSR181HandlerChainTestCase.java
===================================================================
---
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/JSR181HandlerChainTestCase.java 2007-01-22
10:22:58 UTC (rev 2020)
+++
trunk/jbossws-tests/src/main/java/org/jboss/test/ws/jaxws/jsr181/handlerchain/JSR181HandlerChainTestCase.java 2007-01-22
12:49:11 UTC (rev 2021)
@@ -88,16 +88,22 @@
assertEquals("Kermit|LogOut|AuthOut|RoutOut|LogIn|AuthIn|RoutIn|endpoint|RoutOut|AuthOut|LogOut|RoutIn|AuthIn|LogIn",
resStr);
}
+ public void testHandlerChainNegative() throws Throwable
+ {
+ String resStr = invokeTestClient("testService2", "Kermit");
+
assertEquals("Kermit|LogIn|AuthIn|RoutIn|endpoint|RoutOut|AuthOut|LogOut",
resStr);
+ }
+
public void testHandlerChainOverride() throws Throwable
{
- String resStr = invokeTestClient("testService2", "Kermit");
+ String resStr = invokeTestClient("testService3", "Kermit");
assertEquals("Kermit|LogOut|AuthOut|RoutOut|LogIn|AuthIn|RoutIn|endpoint|RoutOut|AuthOut|LogOut|RoutIn|AuthIn|LogIn",
resStr);
}
private String invokeTestClient(String testName, String reqStr) throws Throwable
{
new ClientLauncher().launch(HandlerChainClient.class.getName(),
"jbossws-client", new String[] { testName, reqStr });
- String resStr = HandlerChainClient.testResult.get("testService1");
+ String resStr = HandlerChainClient.testResult.get(testName);
return resStr;
}
}
Modified:
trunk/jbossws-tests/src/main/resources/jaxws/jsr181/handlerchain/META-INF/jboss-client.xml
===================================================================
---
trunk/jbossws-tests/src/main/resources/jaxws/jsr181/handlerchain/META-INF/jboss-client.xml 2007-01-22
10:22:58 UTC (rev 2020)
+++
trunk/jbossws-tests/src/main/resources/jaxws/jsr181/handlerchain/META-INF/jboss-client.xml 2007-01-22
12:49:11 UTC (rev 2021)
@@ -15,4 +15,10 @@
<wsdl-override>http://@jbosstest.host.name@:8080/jaxws-jsr181-handlerchain/TestService?wsdl</wsdl-override>
</service-ref>
+ <service-ref>
+ <service-ref-name>Service3</service-ref-name>
+ <handler-chain>jaxws-handlers.xml</handler-chain>
+
<wsdl-override>http://@jbosstest.host.name@:8080/jaxws-jsr181-handlerchain/TestService?wsdl</wsdl-override>
+ </service-ref>
+
</jboss-client>
\ No newline at end of file