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)
>
>
>
>