您可以在 JAX-WS Web 服务中使用 SOAP 错误。这样,您可以在未找到先决条件时引发自定义异常。客户对发生的事情有了更好的了解。
为此,您需要一个带有@WebFault
注释的异常。您可以在使用 Java JAX-WS Web 服务中的 SOAP 错误和异常 - Eben Hewitt on Java中找到一个很好的示例。
在用户指南 » GlassFish » Metro » JAX-WS中,您可以找到以下示例:
package fromjava.server;
import javax.jws.WebService;
@WebService
public class AddNumbersImpl {
/**
* @param number1
* @param number2
* @return The sum
* @throws AddNumbersException if any of the numbers to be added is
* negative.
*/
public int addNumbers(int number1, int number2) throws
AddNumbersException {
if (number1 < 0 || number2 < 0) {
throw new AddNumbersException("Negative number cant be " +
"added!", "Numbers: " + number1 + ", " + number2);
}
return number1 + number2;
}
}
例外:
package fromjavahandler.server;
public class AddNumbersException extends Exception {
String detail;
public AddNumbersException(String message, String detail) {
super(message);
this.detail = detail;
}
public String getDetail() {
return detail;
}
}
JAX-WS 运行时自动生成故障。