private Service createServiceProxy(Class superClass, ClassLoader classLoader, QName serviceName, URL wsdlLocation) throws NamingException {
Callback callback = new PortMethodInterceptor(this.seiInfoMap);
Callback[] methodInterceptors = new Callback[]{NoOp.INSTANCE, callback};
Enhancer enhancer = new Enhancer();
enhancer.setClassLoader(classLoader);
enhancer.setSuperclass(superClass);
enhancer.setCallbackFilter(new PortMethodFilter());
enhancer.setCallbackTypes(new Class[]{NoOp.class, MethodInterceptor.class});
enhancer.setUseFactory(false);
enhancer.setUseCache(false);
Class serviceClass = enhancer.createClass();
Enhancer.registerCallbacks(serviceClass, methodInterceptors);
FastConstructor constructor =
FastClass.create(serviceClass).getConstructor(URL_SERVICE_NAME_CONSTRUCTOR);