The XMLA fault is clearly in error. I have no doubt that Axis is barfing on the custom fault code. The spec clearly states that any custom fault code must be namespace qualified. I'm astonished that any SOAP client could process it. My understanding is that .NET barfs on invalid fault codes. But perhaps it only barfs on valid, namespace qualified custom fault codes (someone posted a message on that issue just a few weeks ago).

I suggest you push back on Microsoft and get them to fix their service.

I'm not sure what you can do to catch this fault other than to use an interceptor to catch the fault before Axis tries to process it, or you could catch the exception that Axis throws when it receives an invalid faultcode.

Anne

At 10:52 AM 9/11/2003 +0530, you wrote:
I have a Java application that uses the Axis client libraries to consume the
services provided by a Microsoft OLAP/XMLA web service. The web service
returns SOAP faults that are invalid. This has been confirmed from MS. They
also go on to say that most clients they have tested with accept this
irregularity. I would like comments from Axis devs on this one. Is there a
workaround in Axis which will help me read the fault code and string without
parse errors? I am reproducing the conversation I had on the XMLA newsgroup
.....
thanks, - Vikram
************ Start Repro *************
Hi Vikram,

It looks like you are correct -- its surprising that so far none of the SOAP
clients we tested with caught this. However, I'm still not certain that your
SOAP client is choking on these two issues since most SOAP clients appear to
ignore them... Its possible that something else is being rejected -- perhaps
it is the faultstring inside the detail element?

Perhaps the place where the error is being raised can give you a hint as to
what Axis is choking on?

Thanks,
Akshai
--
This posting is provided "AS IS" with no warranties, and confers no rights
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.

"Vikram Rajan" <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
wrote in message
<news:[EMAIL PROTECTED]>...
> Akshai,
>
> The following is a reproduction of a SOAP fault from the XMLA web service.
> My Java SOAP client (Axis) is not able to parse it. I think something is
> invalid here. I am no SOAP schema expert ... maybe you could point out if
> anything is wrong here. IMHO, the faultcode should have a qualified text
> value, and the faultactor should be a URI.
>
> <?xml version="1.0"?>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="<http://schemas.xmlsoap.org/soap/envelope/>"
> SOAP-ENV:encodingStyle="<http://schemas.xmlsoap.org/soap/encoding/>">
> <SOAP-ENV:Body>
> <SOAP-ENV:Fault>
> <faultcode>XMLAnalysisError.80040E14</faultcode>
> <faultstring>Syntax error in axis definition, near:
> ''</faultstring>
> <faultactor>XML for Analysis Provider</faultactor>
> <detail>
> <faultstring>
> <Error ErrorCode="2147749396" Description="Syntax
error
> in axis definition, near: ''" Source="XML for Analysis Provider"/>
> </faultstring>
> </detail>
> </SOAP-ENV:Fault>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> thanks
> Vikram
>
>




Reply via email to