@Retention(value=RUNTIME) @Target(value=TYPE) @Documented @Import(value=DelegatingWsConfiguration.class) public @interface EnableWs
@Configuration class to have the Spring Web Services configuration
defined in WsConfigurationSupport imported. For instance:
@Configuration
@EnableWs
@ComponentScan(basePackageClasses = { MyConfiguration.class })
public class MyWsConfiguration {
}
Customize the imported configuration by implementing the WsConfigurer interface or more likely by extending
the WsConfigurerAdapter base class and overriding individual methods:
@Configuration
@EnableWs
@ComponentScan(basePackageClasses = { MyConfiguration.class })
public class MyConfiguration extends WsConfigurerAdapter {
@Override
public void addInterceptors(List<EndpointInterceptor> interceptors) {
interceptors.add(new MyInterceptor());
}
@Override
public void addArgumentResolvers(List<MethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(new MyArgumentResolver());
}
// More overridden methods ...
}
If the customization options of WsConfigurer do not expose something you need to configure, consider removing
the @EnableWs annotation and extending directly from WsConfigurationSupport overriding selected
@Bean methods:
@Configuration
@ComponentScan(basePackageClasses = { MyConfiguration.class })
public class MyConfiguration extends WsConfigurationSupport {
@Override
public void addInterceptors(List<EndpointInterceptor> interceptors) {
interceptors.add(new MyInterceptor());
}
@Bean
@Override
public DefaultMethodEndpointAdapter defaultMethodEndpointAdapter() {
// Create or delegate to "super" to create and
// customize properties of DefaultMethodEndpointAdapter
}
}
WsConfigurer,
WsConfigurerAdapter,
WsConfigurationSupportCopyright © 2023 VMware, Inc.. All rights reserved.