SWS-698 - EndpointExceptionResolver is not registered autmaticaly when used togeter with <sws:annotation-driven/> tag

This commit is contained in:
Arjen Poutsma
2011-03-22 11:21:27 +00:00
parent 38ecdd22b8
commit 9eb37a77e9
2 changed files with 0 additions and 29 deletions

View File

@@ -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);

View File

@@ -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 =