I implemented a Contract First Web-Service application based on Spring-WS & Spring-Integration. My customer doesn't wish to receive SOAP-Foults. And I must build the valid response with error description in specific tag.
I know Spring-Integration has got a error-handling pattern with channel which can have error handling subscribers.
So, I read the source of SimpleWebServiceInboundGateway class. By inheritance he has got a property
But the configuration by Namespace of it doesn't allow to add an attribute error-channel="errorChannel" to ws:inbound-gateway description.
private volatile MessageChannel errorChannel;
So, I continue to read sources. And the WebServiceInboundGatewayParser class by inheritence has ability to parse that attribute:
But the spring-integration-ws-2.0.xsd hasn't got a description of attribute error-channel in complex type of inbound-gateway.
String errorChannel = element.getAttribute("error-channel");
I think it is a bug and must be fixed.
For example: the spring-integration-jms-2.0.xsd has got description of
in complex type of inbound-gateway.
<xsd:attribute name="error-channel" type="xsd:string">
But I solve the problem with workaround:
<beans:bean id="ws-inbound-gateway" class="org.springframework.integration.ws.SimpleWebServiceInboundGateway"
and Happy New Year and Marry Christmas