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 "Schwartz, Brenton" <bj...@qwest.com> on 2002/05/30 00:03:40 UTC

AxisFault vs SOAP Fault

I am having trouble getting the fault code out of a SOAP message

Environment:
-------------------------------
SunOS zima 5.8 Generic_111433-02 sun4u sparc SUNW,Sun-Blade-1000
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
axis Beta2, Nightly Release 28 May 02

The value I want to access:
---------------------------------
<e:errorCode>4500</e:errorCode>

Soap Message Returned:
---------------------------------
<soap-env:Envelope
xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<qxg:TASK_ID
xmlns:qxg="http://www.qwest.com/qxg/">KG0UW67N.19SSDJ0.UXFLKZ</qxg:TASK_ID>
</soap-env:Header>
<soap-env:Body>
<soap-env:Fault>
<soap-env:faultactor>http://www.qwest.com/qxg/jmsqueue/DefaultBusinessLogicQ
ueue/BAAGetOrderStatusResultActor </soap-env:faultactor>
<soap-env:faultcode>Server </soap-env:faultcode>
<soap-env:faultstring>Rejected - Order does not exist
</soap-env:faultstring>
<soap-env:Detail>
<e:faultDetails xmlns:e="http://www.qwest.com/qxg/">
<e:message>Rejected - Order does not exist </e:message>
<e:errorCode>4500 </e:errorCode>
</e:faultDetails>
</soap-env:Detail>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>

Code Fragment where I am trying to access the data:
---------------------------------------
catch (org.apache.axis.AxisFault e)
{
System.out.println(e.dumpToString());

// I want to be able to access the value
// here so I can do processing on it.
}

What I get from the Dump:
----------------------------------------------------
AxisFault
faultCode: Server
faultString: Rejected - Order does not exist
faultActor:
http://www.qwest.com/qxg/jmsqueue/DefaultBusinessLogicQueue/BAAGetOrderStatu
sResultActor
faultDetail: 
stackTrace: Rejected - Order does not exist
at
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:13
4)
at
org.apache.axis.encoding.DeserializationContextImpl.endElement(Deserializati
onContextImpl.java:917)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1528)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at
org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationCon
textImpl.java:217)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:443)
at org.apache.axis.client.Call.invoke(Call.java:1917)
at org.apache.axis.client.Call.invoke(Call.java:1684)
at org.apache.axis.client.Call.invoke(Call.java:1612)
at org.apache.axis.client.Call.invoke(Call.java:1174)
at
com.qwest.www.BAAGetOrderStatusResultBindingStub.BAAGetOrderStatusResult(BAA
GetOrderStatusResultBindingStub.java:167)
at
com.qwest.www.Baa_Get_Order_Status_Result.GetOrderStatusResult(Baa_Get_Order
_Status_Result.java:95)
at
com.qwest.www.Baa_Get_Order_Status_Result.main(Baa_Get_Order_Status_Result.j
ava:142)

What can I do to get this information back out of the SOAP
message?  I have tried quite a number of ways but nothing I have found
so far has lead me to success.

Brent