我正在使用契约优先方法来使用JAX-WS发布Web服务。 WSDL中没有SOAP错误,但是现有的Web服务会适当地引发错误异常。

我无法抛出类似的故障异常,因为我正在实现的服务方法要求添加throws子句。

我可以找到this question作为相关对象。

最佳答案

如果我对您的理解正确,那么您在问如何将抛出的异常添加到wsdl中?

有几个原因导致所生成的wsdl中未显示引发的异常


引发的异常不是受检查的异常,例如,因为您从RuntimeException继承了子类,RuntimeException是未经检查的异常。
您没有将throws MyException添加到Webservice方法中(而是捕获了异常)。
有人说您必须将@WebFault annotation添加到您的异常类中,但是根据我的经验,这不是必需的(也许取决于您使用的jax-ws版本)。

08-26 07:32