小编典典

在Axis2中创建自定义异常

java

我正在使用Axis2 1.5.2和Eclipse。我正在使用Eclipse从生成的WSDL生成WSDL和客户端代码。

我创建了一个服务可以抛出的自定义异常。创建Web服务时一切正常。Web服务成功启动,并且可以通过指向Web浏览器来查看生成的WSDL。但是,当我告诉Eclipse使用生成的WSDL生成客户端代码时,我从Eclipse中得到了以下错误:

Error in generating Java from WSDL:  java.io.IOException: ERROR: Missing <soap:fault> element inFault "InsertUserException" in operation "InsertUserException", in binding insertUser
    java.io.IOException: ERROR: Missing <soap:fault> element inFault "InsertUserException" in operation "InsertUserException", in binding insertUser
    at org.apache.axis.wsdl.symbolTable.SymbolTable.faultsFromSOAPFault(SymbolTable.java:2858)

我的自定义异常是“ InsertUserException”:

public class InsertUserException extends Exception{
  private String errorCode;

  public InsertUserException(String errorCode){.....}
  public String getErrorCode(){...}
  public void setErrorCode(String errorCode){...}

}

客户端可以调用的我的服务操作是“ insertUser”:

public void insertUser() throws  InsertUserException{
.....
}

任何帮助表示赞赏。


阅读 275

收藏
2020-11-30

共1个答案

小编典典

除非它们是AxisFaults,否则Axis2不知道如何通过电线发送异常。

这是指向有关如何将AxisFault与自定义异常信息一起使用的文章的链接。

http://wso2.org/library/171

2020-11-30