spring-web服务(spring-ws)有一个默认的SimpleSoapExceptionResolver,它将把任何未处理的异常作为SOAP错误返回给客户端。这很好。
然而,我也希望它在服务器上记录异常,这样我们就可以看到支持该服务的可见性。
SimpleSoapExceptionResolver通过AbstractEndpointExceptionResolve具有一个可以设置为启用日志记录的属性(setWarnLogCategory)。
如何获取框架为设置warnLogCategory属性而创建的SimpleSoapExceptionResolver实例的句柄?
谢谢,丹。
参考文档中写道:
端点异常解析器由MessageDispatcher,因此不需要显式配置。
因此,只需实例化类并设置属性:
<bean id="exceptionResolver" class="org.springframework.ws.soap.server.endpoint.SimpleSoapExceptionResolver">
<property name="warnLogCategory" value="com.mycompany.category"/>
</bean>
这里有一种可能性,使用容器注入在一次性bean 中获得它的句柄
必须有一种方法可以做到这一点,而不必创建java类——唯一的目的就是配置springbean。
@Named public class ConfigurationBean {
@Inject SoapFaultAnnotationExceptionResolver resolver;
@PostConstruct public void initialise() {
resolver.setWarnLogCategory("Dingbats");
}
}