编程语言
首页 > 编程语言> > java-无法捕获AxisFault异常

java-无法捕获AxisFault异常

作者:互联网

我有一个代码是围绕Web服务的Java包装程序,在例外情况下,它引发AxisFault异常(如下所示)

org.apache.axis2.AxisFault: Policy enforcement failed to authenticate the request.
    at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:446)
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:371)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at com.tibco.n2.de.services.EntityResolverServiceStub.lookupUser(EntityResolverServiceStub.java:261)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)

代码如下所示,

try {
                lookupUserResponse = myIntializedObject.lookupUser("someuser", null, null, true);
            } catch (InvalidServiceRequestFault e) {
                // TODO Auto-generated catch block
                //e.printStackTrace();
            } catch (InternalServiceFault e) {
                // TODO Auto-generated catch block
                //e.printStackTrace();
            } catch (SecurityFault e) {
                // TODO Auto-generated catch block
                //e.printStackTrace();
            }
            finally{
                if(lookupUserResponse==null)
                    return false;
            }

我也尝试用Exception e的单个块替换所有catch块,但仍然没有捕获异常

解决方法:

我可以使用以下命令捕获AxisFault错误:

try {
    ...
} catch (RemoteException ex) {
    if(ex instanceof AxisFault){
        logger.error("Axis Fault error: " + ((AxisFault)ex).getFaultString());
    }
}

AxisFault是java.rmi.RemoteException的子类.您可以通过查看API docs来了解这一点.类的层次结构显示在页面的左上角.

至于为什么在catch语句中使用java.lang.Exception时未捕获到该错误,也许您可​​以发布相关代码?

标签:webservice-client,web-services,java
来源: https://codeday.me/bug/20191201/2078920.html