protected synchronized void customConfigure(Object beanInstance) { if (customizer != null) { customizer.customize(beanInstance); } }
public void customize(Object beanInstance) { if (beanInstance instanceof AbstractWSDLBasedEndpointFactory) { configureEndpointFactory((AbstractWSDLBasedEndpointFactory)beanInstance); } else if (beanInstance instanceof ClientProxyFactoryBean) { configureClientProxyFactoryBean((ClientProxyFactoryBean)beanInstance); } //add other beans configuration here below }
/** * Configure the endpoint factory * * @param factory */ protected void configureEndpointFactory(AbstractWSDLBasedEndpointFactory factory) { //Configure binding customization if (customization != null) { ReflectionServiceFactoryBean serviceFactory = factory.getServiceFactory(); //customize default databinding (early pulls in ServiceFactory default databinding and configure it, as it's lazily loaded) serviceFactory.reset(); DataBinding serviceFactoryDataBinding = serviceFactory.getDataBinding(true); configureBindingCustomization(serviceFactoryDataBinding, customization); serviceFactory.setDataBinding(serviceFactoryDataBinding); //customize user provided databinding (CXF later overrides the ServiceFactory databinding using the user provided one) if (factory.getDataBinding() == null) { //set the endpoint factory's databinding to prevent CXF resetting everything because user did not provide anything factory.setDataBinding(serviceFactoryDataBinding); } else { configureBindingCustomization(factory.getDataBinding(), customization); } } //add other configurations here below }
@Override public Bus createBus(Map<Class<?>, Object> extensions, Map<String, Object> properties) { if (extensions == null) { extensions = new HashMap<Class<?>, Object>(); } if (!extensions.containsKey(Configurer.class)) { extensions.put(Configurer.class, new JBossWSConfigurerImpl(new BeanCustomizer())); } //Explicitly ask for the ProviderImpl.class.getClassLoader() to be used for getting //cxf bus extensions (as that classloader is the jaxws-client module one which 'sees' all //extensions, unless different dependencies are explicitly set) ExtensionManagerBus bus = new ExtensionManagerBus(extensions, properties, ProviderImpl.class.getClassLoader()); possiblySetDefaultBus(bus); initializeBus(bus); bus.initialize(); DefaultHTTPConduitFactoryWrapper.install(bus); return bus; }
/** * Configure the client proxy factory; currently set the binding customization in the databinding (Client Side). * * @param factory */ protected void configureClientProxyFactoryBean(ClientProxyFactoryBean factory) { //Configure binding customization if (customization != null) { //customize default databinding (early pulls in ServiceFactory default databinding and configure it, as it's lazily loaded) ReflectionServiceFactoryBean serviceFactory = factory.getServiceFactory(); serviceFactory.reset(); DataBinding serviceFactoryDataBinding = serviceFactory.getDataBinding(true); configureBindingCustomization(serviceFactoryDataBinding, customization); serviceFactory.setDataBinding(serviceFactoryDataBinding); //customize user provided databinding (CXF later overrides the ServiceFactory databinding using the user provided one) if (factory.getDataBinding() == null) { //set the endpoint factory's databinding to prevent CXF resetting everything because user did not provide anything factory.setDataBinding(serviceFactoryDataBinding); } else { configureBindingCustomization(factory.getDataBinding(), customization); } } //add other configurations here below }
super.customize(beanInstance);