我正在使用Axis2 1.5.2和Eclipse。我正在使用Eclipse从生成的WSDL生成WSDL和客户端代码。
我创建了一个我的服务可以抛出的自定义异常。创建Web服务时,一切看起来都不错。 webservice成功启动,我可以通过指向我的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{
.....
}
感谢任何帮助。
答案 0 :(得分:0)
Axis2不知道如何通过网络发送例外,除非它们是AxisFaults。
这是一篇关于如何将AxisFault与自定义异常信息一起使用的文章的链接。