如何使用spring-ws记录未处理的异常



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"); 
  }
} 

最新更新