我有一些类似的代码:
public class SOAPServer {
public Object[] getObjects() throws IllegalStateException {
Object[] objects = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }
int index = 10;
try {
Object object = objects[index];
} catch (Exception e) {
throw new IllegalStateException("Server cannot access Object " + index + ".", e);
}
return objects;
}
}
客户端可以毫无问题地接收抛出的异常,但似乎原因不是通过SOAP传递的。 Exception::getCause()
返回null。
有没有办法使用JAX-WS&抛出这样的链式异常? SOAP吗
答案 0 :(得分:2)
有没有办法使用JAX-WS&抛出这样的链式异常? SOAP?
理论上可能是一种方式,但它很可能会破坏SOAP的语言中立性,所以即使单凭这些理由也不建议这样做;
< / LI>即使在使用Java序列化时很少支持它,它仍然不是推荐,因为您无法控制哪个异常将成为根本原因。它可能不是可序列化的,它可能包含对大型对象图的引用等。
始终建议仅将错误消息传输到客户端,并依靠服务器端日志进行详细诊断。