方法声明中的异常。 JAXB

时间:2012-04-25 21:32:32

标签: java web-services jaxb cxf

假设我有这样的例外层次结构:

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声明中获取子异常?

1 个答案:

答案 0 :(得分:2)

我认为您需要列出AB作为aa抛出的可能异常,否则jaxb无法知道您可能会抛出派生类的异常。尝试:

public void aa() throws A, B;