users@jax-rpc.java.net

Axis and throwing exceptions?

From: Bill Keicher <wkeicher_at_endeca.com>
Date: Wed, 15 Sep 2004 19:11:40 -0400

Have any of you ever written a web service deployed on Axis that throws
user-defined exceptions? Right now, the web service works fine unless it
has to throw a user defined exception which causes the client to see the
following. In particular in the web service servant class, I call `throw
new DIException("foo", 9, true);` and attempt to catch it on the client
side, but get this Axis Fault instead as a SOAPFaultException.

Thanks,
Bill

AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.lang.reflect.InvocationTargetException
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}stackTrace:AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.lang.reflect.InvocationTargetException
 faultActor:
 faultNode:
 faultDetail:

java.lang.reflect.InvocationTargetException
        at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:2
62)
        at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:16
9)
        at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati
onContextImpl.java:1092)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
        at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
        at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon
textImpl.java:257)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:582)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:447)
        at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:687
)
        at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:134)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:157)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:122)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:183)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2682)
        at org.apache.axis.client.Call.invoke(Call.java:2665)
        at org.apache.axis.client.Call.invoke(Call.java:2355)
        at org.apache.axis.client.Call.invoke(Call.java:2278)
        at org.apache.axis.client.Call.invoke(Call.java:1772)
        at
com.endeca.service.dataindexing.DataIndexingSoapBindingStub.addContent(DataI
ndexingSoapBindingStub.java:355)
        at oem.OEMClient.main(OEMClient.java:59)


java.lang.reflect.InvocationTargetException
        at
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:2
62)
        at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:16
9)
        at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati
onContextImpl.java:1092)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
        at
org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
        at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon
textImpl.java:257)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:582)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:447)
        at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:687
)
        at
org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:134)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:157)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:122)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:183)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2682)
        at org.apache.axis.client.Call.invoke(Call.java:2665)
        at org.apache.axis.client.Call.invoke(Call.java:2355)
        at org.apache.axis.client.Call.invoke(Call.java:2278)
        at org.apache.axis.client.Call.invoke(Call.java:1772)
        at
com.endeca.service.dataindexing.DataIndexingSoapBindingStub.addContent(DataI
ndexingSoapBindingStub.java:355)
        at oem.OEMClient.main(OEMClient.java:59)


-------------------------------
William Keicher
Software Engineer
Endeca

T: 617-621-7250
F: 617-577-7766
E: wkeicher_at_endeca.com
-------------------------------


This email message and any attachments are confidential to Endeca. If you
are not the intended recipient, please notify Endeca immediately -- by
replying to this message or by sending an email to: legal_at_endeca.com -- and
destroy all copies of this message and any attachments. Thank you.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net