假设我有这样的例外层次结构:
public class A extends RuntimeException {
...
}
public class B extends A {
...
}
在Web服务界面中有一个方法:
public void aa() throws A;
此方法的实现可以抛出异常A
或异常B
,但在部署到tomcat时,cxf仅使用A
异常声明发布wsdl。
我尝试在两个类上使用@XmlRootElement
,在父类上使用@XmlType
,在父类上使用@XmlRootElement
,在父类上使用@XmlRootElement
,但是已发布的wsdl没有@XmlSeeAlso
异常声明。此外,我编写了一个使用wsdl的测试,测试只得到一个异常但是我已经模拟了两种类型的异常。如何在wsdl声明中获取子异常?
答案 0 :(得分:2)
我认为您需要列出A
和B
作为aa
抛出的可能异常,否则jaxb无法知道您可能会抛出派生类的异常。尝试:
public void aa() throws A, B;