SWS-698 - EndpointExceptionResolver is not registered autmaticaly when used togeter with <sws:annotation-driven/> tag
This commit is contained in:
@@ -39,8 +39,6 @@ import org.springframework.ws.server.endpoint.adapter.method.dom.XomPayloadMetho
|
||||
import org.springframework.ws.server.endpoint.adapter.method.jaxb.JaxbElementPayloadMethodProcessor;
|
||||
import org.springframework.ws.server.endpoint.adapter.method.jaxb.XmlRootElementPayloadMethodProcessor;
|
||||
import org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping;
|
||||
import org.springframework.ws.soap.server.endpoint.SimpleSoapExceptionResolver;
|
||||
import org.springframework.ws.soap.server.endpoint.SoapFaultAnnotationExceptionResolver;
|
||||
import org.springframework.ws.soap.server.endpoint.adapter.method.SoapMethodArgumentResolver;
|
||||
import org.springframework.ws.soap.server.endpoint.mapping.SoapActionAnnotationMethodEndpointMapping;
|
||||
|
||||
@@ -79,8 +77,6 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
|
||||
|
||||
registerEndpointAdapters(element, source, parserContext);
|
||||
|
||||
registerEndpointExceptionResolvers(source, parserContext);
|
||||
|
||||
parserContext.popAndRegisterContainingComponent();
|
||||
|
||||
return null;
|
||||
@@ -176,19 +172,6 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser {
|
||||
parserContext.getReaderContext().registerWithGeneratedName(adapterDef);
|
||||
}
|
||||
|
||||
private void registerEndpointExceptionResolvers(Object source, ParserContext parserContext) {
|
||||
RootBeanDefinition simpleExceptionResolverDef =
|
||||
createBeanDefinition(SimpleSoapExceptionResolver.class, source);
|
||||
simpleExceptionResolverDef.getPropertyValues().add("order", 0);
|
||||
parserContext.getReaderContext().registerWithGeneratedName(simpleExceptionResolverDef);
|
||||
|
||||
RootBeanDefinition soapFaultAnnotationExceptionResolverDef =
|
||||
createBeanDefinition(SoapFaultAnnotationExceptionResolver.class, source);
|
||||
soapFaultAnnotationExceptionResolverDef.getPropertyValues().add("order", 1);
|
||||
parserContext.getReaderContext().registerWithGeneratedName(soapFaultAnnotationExceptionResolverDef);
|
||||
}
|
||||
|
||||
|
||||
private RuntimeBeanReference createBeanReference(Class<?> beanClass, Object source, ParserContext parserContext) {
|
||||
RootBeanDefinition beanDefinition = createBeanDefinition(beanClass, source);
|
||||
String beanName = parserContext.getReaderContext().registerWithGeneratedName(beanDefinition);
|
||||
|
||||
@@ -23,7 +23,6 @@ import java.util.Map;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.support.ClassPathXmlApplicationContext;
|
||||
import org.springframework.ws.server.EndpointAdapter;
|
||||
import org.springframework.ws.server.EndpointExceptionResolver;
|
||||
import org.springframework.ws.server.EndpointMapping;
|
||||
import org.springframework.ws.server.endpoint.adapter.DefaultMethodEndpointAdapter;
|
||||
import org.springframework.ws.server.endpoint.adapter.method.MessageContextMethodArgumentResolver;
|
||||
@@ -39,8 +38,6 @@ import org.springframework.ws.server.endpoint.adapter.method.dom.XomPayloadMetho
|
||||
import org.springframework.ws.server.endpoint.adapter.method.jaxb.JaxbElementPayloadMethodProcessor;
|
||||
import org.springframework.ws.server.endpoint.adapter.method.jaxb.XmlRootElementPayloadMethodProcessor;
|
||||
import org.springframework.ws.server.endpoint.mapping.PayloadRootAnnotationMethodEndpointMapping;
|
||||
import org.springframework.ws.soap.server.endpoint.SimpleSoapExceptionResolver;
|
||||
import org.springframework.ws.soap.server.endpoint.SoapFaultAnnotationExceptionResolver;
|
||||
import org.springframework.ws.soap.server.endpoint.adapter.method.SoapMethodArgumentResolver;
|
||||
import org.springframework.ws.soap.server.endpoint.mapping.SoapActionAnnotationMethodEndpointMapping;
|
||||
|
||||
@@ -71,15 +68,6 @@ public class AnnotationDrivenBeanDefinitionParserTest {
|
||||
assertContainsInstanceOf(result.values(), SoapActionAnnotationMethodEndpointMapping.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void endpointExceptionResolvers() {
|
||||
Map<String, EndpointExceptionResolver> result =
|
||||
applicationContext.getBeansOfType(EndpointExceptionResolver.class);
|
||||
assertEquals("invalid amount of endpoint mappings found", 2, result.size());
|
||||
assertContainsInstanceOf(result.values(), SimpleSoapExceptionResolver.class);
|
||||
assertContainsInstanceOf(result.values(), SoapFaultAnnotationExceptionResolver.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void endpointAdapters() {
|
||||
Map<String, EndpointAdapter> result =
|
||||
|
||||
Reference in New Issue
Block a user