Index: src/main/java/groovyx/net/ws/WSClient.java
===================================================================
--- src/main/java/groovyx/net/ws/WSClient.java	(revision 841)
+++ src/main/java/groovyx/net/ws/WSClient.java	(working copy)
@@ -104,7 +104,10 @@
             url = this.sslHelper.getLocalWsdlUrl(this.url);
         }
 
+        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
         this.client = createClient(url, this.classloader);
+        this.classloader = Thread.currentThread().getContextClassLoader();
+        Thread.currentThread().setContextClassLoader(oldLoader);
 
         this.soapHelper.enable(this.client);
         this.proxyHelper.enable(this.client);
@@ -119,6 +122,35 @@
         conduit = (HTTPConduit) this.client.getConduit();
         configureHttpClientPolicy(conduit);
     }
+    
+    public Object create(String classname) throws IllegalAccessException {
+    	
+    	if (classname == null) {
+            throw new IllegalArgumentException("Must provide the class name");
+        }
+    	
+    	Class clazz = null;
+    	try {
+    		clazz = classloader.loadClass(classname);
+    	} catch (Exception e) {
+    		e.printStackTrace();    		
+    	}
+    	
+    	assert clazz != null;
+        if (clazz.isEnum()){
+            return clazz;
+        }
+
+        Object obj = null;
+
+        try {
+            obj = clazz.newInstance();
+        } catch (InstantiationException e) {
+            e.printStackTrace();
+        }
+
+        return obj;
+    }
 
     /**
      * Set the properties of the proxy.

