You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org> on 2007/05/31 08:54:15 UTC

[jira] Commented: (AXIS2-2733) java.lang.RuntimeException thrown from parsing incorrect XML causes the entire Axis thread to hang

    [ https://issues.apache.org/jira/browse/AXIS2-2733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12500299 ] 

Amila Chinthaka Suriarachchi commented on AXIS2-2733:
-----------------------------------------------------

As I saw this is not a bug with ADB. the problem is you getting an invalid xml according to the wsdl.  But I agree with you throwing Runtime Exception always is not a good idea as well. The reason for this is we donot have to add any thing to method signature when throwing runtime exceptins. There is a jira for this and i'll work on it. ADB supports both 1,0 for boolean values.

> java.lang.RuntimeException thrown from parsing incorrect XML causes the entire Axis thread to hang
> --------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-2733
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2733
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: adb
>    Affects Versions: 1.2
>         Environment: Win XP SP2, Java 6 U1
>            Reporter: Chris Gibbs
>
> I'm using the Betfair API and Axis 2 in ADB mode, and have discovered that RuntimeExceptions are being thrown when perhaps they shouldn't. The offending XML is:
> <runners xsi:type="n2:ArrayOfRunner" /> 
> I'm pretty sure this violates the WSDL spec -  instead it should be the following:
> <runners xsi:type="n2:ArrayOfRunner" xsi:nil="1"/>
> The relevant bit from the Betfair WSDL is this:
> <xsd:element name="runners" nillable="true" type="types:ArrayOfRunner" /> 
> I've traced through the ADB-generated code and it leads to a RuntimeException if the tag is empty but xsi:nil="1" is not present. Is this against the design spec for Axis? I was previously using Axis in XMLBeans mode, which I believe is more lenient in handling issues like this. XMLBeans also does not mind if boolean values are set to "true" or "1", whereas ADB only works when boolean values are set to "true" - this also might be against the spec.
> The main issue is that whenever a RuntimeException is thrown, it basically causes some part of Axis to completely hang, meaning that no further calls to the Betfair API from the same thread can be made, even though I am catching the RuntimeException. This surely isn't intended in the Axis 2 design? 
> Betfair will probably issue a fix for this eventually, but it's a very serious issue and I can't think of an easy workaround at the moment (apart from going back to XMLBeans code!)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org