Author: thomas.diesler(a)jboss.com
Date: 2007-03-29 15:02:50 -0400 (Thu, 29 Mar 2007)
New Revision: 2717
Modified:
branches/jbossws-1.2.1/build/ant-import/build-hudson.xml
branches/jbossws-1.2.1/build/version.properties
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/client/ServiceRefHandlerImpl.java
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/integration/ServiceRefHandler.java
Log:
Add classloader to bindServiceRef
Modified: branches/jbossws-1.2.1/build/ant-import/build-hudson.xml
===================================================================
--- branches/jbossws-1.2.1/build/ant-import/build-hudson.xml 2007-03-29 15:29:00 UTC (rev
2716)
+++ branches/jbossws-1.2.1/build/ant-import/build-hudson.xml 2007-03-29 19:02:50 UTC (rev
2717)
@@ -82,7 +82,6 @@
<copy todir="${hudson.home}" overwrite="true">
<fileset dir="${build.dir}/hudson/hudson-home"/>
<filterset>
- <filter token="version.id" value="${version.id}"/>
<filter token="svn.basedir.local"
value="${svn.basedir.local}"/>
<filter token="svn.basename" value="${svn.basename}"/>
<filter token="svn.url" value="${svn.url}"/>
Modified: branches/jbossws-1.2.1/build/version.properties
===================================================================
--- branches/jbossws-1.2.1/build/version.properties 2007-03-29 15:29:00 UTC (rev 2716)
+++ branches/jbossws-1.2.1/build/version.properties 2007-03-29 19:02:50 UTC (rev 2717)
@@ -6,7 +6,7 @@
specification.version=jbossws-1.2
version.id=1.2.1.GA
-repository.id=1.2.1.GA
+repository.id=1.2.1.DEV
implementation.title=JBoss Web Services (JBossWS)
implementation.url=http://www.jboss.org/products/jbossws
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/client/ServiceRefHandlerImpl.java
===================================================================
---
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/client/ServiceRefHandlerImpl.java 2007-03-29
15:29:00 UTC (rev 2716)
+++
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/core/client/ServiceRefHandlerImpl.java 2007-03-29
19:02:50 UTC (rev 2717)
@@ -53,25 +53,25 @@
private static Logger log = Logger.getLogger(ServiceRefHandlerImpl.class);
private ServiceRefObjectFactory objectFactory = new ServiceRefObjectFactory();
-
+
public ServiceRefMetaData newServiceRefMetaData()
{
return new UnifiedServiceRefMetaData();
}
- public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot,
ServiceRefMetaData sref) throws NamingException
+ public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot,
ClassLoader loader, ServiceRefMetaData sref) throws NamingException
{
if (sref.isProcessed())
{
- // Attempt to rebind service-ref
+ log.debug("Attempt to rebind the service-ref: " +
sref.getServiceRefName());
return;
}
-
+
UnifiedServiceRefMetaData serviceRef = (UnifiedServiceRefMetaData)sref;
serviceRef.setVfsRoot(vfsRoot);
try
{
- if (getServiceRefType(serviceRef) == Type.JAXRPC)
+ if (getServiceRefType(serviceRef, loader) == Type.JAXRPC)
{
ServiceRefHandlerJAXRPC handler = new ServiceRefHandlerJAXRPC();
handler.setupServiceRef(encCtx, encName, serviceRef);
@@ -88,7 +88,7 @@
sref.setProcessed(true);
}
}
-
+
public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, Attributes attrs)
{
return objectFactory.newChild(ref, navigator, namespaceURI, localName, attrs);
@@ -99,17 +99,17 @@
objectFactory.setValue(ref, navigator, namespaceURI, localName, value);
}
- private Type getServiceRefType(UnifiedServiceRefMetaData serviceRef) throws
NamingException
+ private Type getServiceRefType(UnifiedServiceRefMetaData serviceRef, ClassLoader
loader) throws NamingException
{
// The service-ref-type is JAXWS specific
String serviceRefType = serviceRef.getServiceRefType();
if (serviceRefType != null || serviceRef.getAnnotatedElement() != null)
return Type.JAXWS;
-
+
// The mapping-file is JAXRPC specific
if (serviceRef.getMappingFile() != null)
return Type.JAXRPC;
-
+
String siName = serviceRef.getServiceInterface();
if (siName == null)
throw new IllegalStateException("<service-interface> cannot be
null");
@@ -117,16 +117,6 @@
if (siName.equals("javax.xml.rpc.Service"))
return Type.JAXRPC;
- log.info("Cannot determine service-ref type, assuming JAXWS");
- return Type.JAXWS;
-
- /*
- * Loading the SI like this might not work for webapp clients.
- *
- ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- URL rootURL = serviceRef.getVfsRoot().toURL();
- URLClassLoader loader = new URLClassLoader(new URL[] {rootURL}, ctxLoader);
-
try
{
Class siClass = loader.loadClass(siName);
@@ -134,13 +124,11 @@
return Type.JAXWS;
else if (javax.xml.rpc.Service.class.isAssignableFrom(siClass))
return Type.JAXRPC;
- else
- throw new IllegalStateException("Illegal service interface: " +
siName);
+ else throw new IllegalStateException("Illegal service interface: " +
siName);
}
catch (ClassNotFoundException e)
{
throw new IllegalStateException("Cannot load <service-interface>:
" + siName);
}
- */
}
}
Modified:
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/integration/ServiceRefHandler.java
===================================================================
---
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/integration/ServiceRefHandler.java 2007-03-29
15:29:00 UTC (rev 2716)
+++
branches/jbossws-1.2.1/jbossws-core/src/java/org/jboss/ws/integration/ServiceRefHandler.java 2007-03-29
19:02:50 UTC (rev 2717)
@@ -45,5 +45,5 @@
void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String
namespaceURI, String localName, String value);
- void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot,
ServiceRefMetaData sref) throws NamingException;
+ void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot,
ClassLoader loader, ServiceRefMetaData sref) throws NamingException;
}