[ 
https://issues.apache.org/jira/browse/AXIS2C-920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560862#action_12560862
 ] 

Frank Huebbers commented on AXIS2C-920:
---------------------------------------

Hi Dimuthu,

Please see my comments below for the points you made above:

1. Sounds good

2. Sounds good

3. I am not sure whether this was fixed as well with your bugfix for 921, 
however, I have observed that I get a deserialization error when I receive an 
empty string on a type which is not nillable (i.e., nillable=false).

As I had mentioned in my post, the message contained <myString/> which, as you 
have stated, should be interpreted as an empty string. This did not work for 
me. Only when I received a string with a value, i.e., 
<myString>hello</myString> did the deserialization of the string work correctly.

Othwerise, what you are expecting when a type of xs:string is set to null makes 
sense. Note that this is not the use case I am describing though.

4. Makes sense.

Thanks for the create feedback. 

I will try out your new fix ones the problem I have described in Bug 863 has 
been fixed. It sounds like you haven't been able to reproduce that issue on 
your end. So, I'll try to dig a little deeper there myself when I have some 
more time and then let you know what I find.

Thanks Dimuthu.

Cheers,
Frank

> Array size of 0 for nillable variable in deserialization of SOAP messages
> -------------------------------------------------------------------------
>
>                 Key: AXIS2C-920
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-920
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: wsdl2c tool
>    Affects Versions: Current (Nightly)
>            Reporter: Frank Huebbers
>         Attachments: case19.tar.gz
>
>
> Hi,
> I am using Axis2/C in one of our applications to talk to our application 
> server running Axis (java). I have run into problems where the return message 
> isn't parsed because an array type of size zero with nillable=false is 
> considered to be null by Axis2/C. 
> In other words, I can give the following scenario:
> I want to send a SOAP message describing a book with an array list of 
> authors. In my wsdl file, I have made the array type for the authors to be 
> nillable=false as null types can generate problems for me on other systems. I 
> still need to be able to send an empty array of authors however, to support 
> special cases where no author is known for the book. So, when a SOAP message 
> is received by my client which uses Axis2/C to deserialize it, I would expect 
> Axis2/C to be able to recognize that an array of length zero was sent. What 
> the generated code does instead, however, is that it thinks that the array 
> type was set to null and thus throws an error. I would consider this to be 
> incorrect behavior. 
> When looking at the SOAP message, I have observed that an array size of 0 for 
> a type is not distinguishable from an array type which was set to null and 
> then sent. Specifically, the type is not shown in the message. Which is 
> probably the root cause of this problem. What I have observed in these cases, 
> however, is that C# and Axis Java are able to figure out that these array 
> types are not null but arrays of size 0 (when they are defined as 
> nillable=false in the wsdl files). 
> Considering the facts above, I would thus suggest that the deserialization of 
> the SOAP message for array types of size 0 follow a similar algorithm as is 
> done in other implementations; otherwise, people will be forced to use 
> different wsdl files for Axis2/C and other libraries.
> Any comments?
> Thanks for any help and advice in advance.
> Cheers,
> Frank

-- 
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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to