gpt4 book ai didi

java - Axis2 Web 服务和 WSDL 中的多个异常错误元素

转载 作者:行者123 更新时间:2023-12-01 16:07:12 25 4
gpt4 key购买 nike

我不是 AXIS2 专家,因此我使用 Eclipse 生成自下而上的 Web 服务。我将 2 个方法发布为 Web 服务。这些方法被定义为抛出 java.lang.Exception,以便在调用以异常结束的 Webservice 时产生 SOAPFault。

public class sample {

public String someMethod() throws Exception {
throw new CustomException("Error: blabla");
}


public String someOtherMethod() throws Exception {
throw new CustomException("Error: blabla");
}

}

发布Web服务后,一切正常。但AXIS2生成的WSDL似乎有缺陷。有 2 个 ExceptionFault 元素(每个方法一个?),这对于某些 Web 服务客户端来说是个问题。

<xs:element name="ExceptionFault">
<xs:complexType>
<xs:sequence>
<xs:element name="Exception" nillable="true" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>

有什么问题吗?我的实现有问题吗?我也尝试过声明直接抛出 CustomException 的方法,或者抛出 Exception,但没有成功...

马丁

最佳答案

如果从方法签名中删除“抛出异常”,它将不会生成带有异常元素的 WSDL。

如果您的 CustomException 扩展了 RuntimeException (即它是未经检查的异常),那么您会没事的。 RuntimeException 将被 Axis 正确转换为 SOAPFault。

关于java - Axis2 Web 服务和 WSDL 中的多个异常错误元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2370363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com