You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by mm...@aessuccess.org on 2005/07/01 15:08:20 UTC

Axis Fault

I'm having a problem with throwing an AxisFault in my main service class.
I have handlers that throw AxisFaults fine, but I have
conditions I need to check inside my main service class where I need to
throw a fault.  When I throw the AxisFault, I actually
catch an exception on the throw.  Below is the code and the stack trace in
my service class.  Can anyone tell me what I might
be doing wrong?  Your help is greatly appreciated...

Thanks,
Mark

Method Signature

public String submitDTS(String payload) throws java.rmi.RemoteException

Code

if("test".equals(payload))
{
      fault = new AxisFault();
      fault.setFaultCodeAsString("TEST");
      fault.setFaultReason("DTS Test Error");
      fault.addFaultDetailString("Test Error 1234567890");
      throw fault;
}

Stack Trace

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}TEST
 faultSubcode:
 faultString: DTS Test Error
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace: AxisFault
 faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode:
 faultString:
 faultActor:
 faultNode:
 faultDetail:


        at
com.datatransportstandard.referenceimplementation.service.DTSCoreService.submitDTS(DTSCoreService.java:69)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
        at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
        at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
        at java.lang.Thread.run(Thread.java:534)

        {}string: Test Error 1234567890

DTS Test Error
        at
com.datatransportstandard.referenceimplementation.service.DTSCoreService.submitDTS(DTSCoreService.java:69)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
        at
org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
        at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
        at java.lang.Thread.run(Thread.java:534)




Re: Axis Fault

Posted by Anne Thomas Manes <at...@gmail.com>.
Are you using SOAP 1.1 or SOAP 1.2? 
The parameters you're using to throw the fault look like SOAP 1.2, but
the stack trace shows SOAP 1.1 elements.

Also, you need to qualify your TEST code -- it shouldn't be in the
soapenv namespace. (You really should use the standard SOAP fault
codes [Client, Server, VersionMismatch, and MustUnderstand] and use
the fault string/reason to specify your specific fault info.)

Your stack trace indicates that you are invoking a native method,
though. Don't know where that's coming from...

Anne

On 7/1/05, mmalinos@aessuccess.org <mm...@aessuccess.org> wrote:
> I'm having a problem with throwing an AxisFault in my main service class.
> I have handlers that throw AxisFaults fine, but I have
> conditions I need to check inside my main service class where I need to
> throw a fault.  When I throw the AxisFault, I actually
> catch an exception on the throw.  Below is the code and the stack trace in
> my service class.  Can anyone tell me what I might
> be doing wrong?  Your help is greatly appreciated...
> 
> Thanks,
> Mark
> 
> Method Signature
> 
> public String submitDTS(String payload) throws java.rmi.RemoteException
> 
> Code
> 
> if("test".equals(payload))
> {
>       fault = new AxisFault();
>       fault.setFaultCodeAsString("TEST");
>       fault.setFaultReason("DTS Test Error");
>       fault.addFaultDetailString("Test Error 1234567890");
>       throw fault;
> }
> 
> Stack Trace
> 
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}TEST
>  faultSubcode:
>  faultString: DTS Test Error
>  faultActor:
>  faultNode:
>  faultDetail:
>         {http://xml.apache.org/axis/}stackTrace: AxisFault
>  faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
>  faultSubcode:
>  faultString:
>  faultActor:
>  faultNode:
>  faultDetail:
> 
> 
>         at
> com.datatransportstandard.referenceimplementation.service.DTSCoreService.submitDTS(DTSCoreService.java:69)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
>         at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
>         at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
>         at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
>         at
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
>         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
>         at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>         at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
>         at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
>         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
>         at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
>         at java.lang.Thread.run(Thread.java:534)
> 
>         {}string: Test Error 1234567890
> 
> DTS Test Error
>         at
> com.datatransportstandard.referenceimplementation.service.DTSCoreService.submitDTS(DTSCoreService.java:69)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at
> org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
>         at
> org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
>         at
> org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
>         at
> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
>         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
>         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
>         at
> org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
>         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
>         at
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>         at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
>         at
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
>         at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
>         at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
>         at
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:211)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:805)
>         at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:696)
>         at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677)
>         at java.lang.Thread.run(Thread.java:534)
> 
> 
> 
>