Return-Path: Delivered-To: apmail-ws-axis-c-dev-archive@www.apache.org Received: (qmail 34043 invoked from network); 20 Jan 2008 20:12:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 20 Jan 2008 20:12:55 -0000 Received: (qmail 8527 invoked by uid 500); 20 Jan 2008 20:12:45 -0000 Delivered-To: apmail-ws-axis-c-dev-archive@ws.apache.org Received: (qmail 8506 invoked by uid 500); 20 Jan 2008 20:12:45 -0000 Mailing-List: contact axis-c-dev-help@ws.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: "Apache AXIS C Developers List" Reply-To: "Apache AXIS C Developers List" Delivered-To: mailing list axis-c-dev@ws.apache.org Received: (qmail 8495 invoked by uid 99); 20 Jan 2008 20:12:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 20 Jan 2008 12:12:45 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 20 Jan 2008 20:12:27 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 42B6371422C for ; Sun, 20 Jan 2008 12:12:34 -0800 (PST) Message-ID: <14457736.1200859954270.JavaMail.jira@brutus> Date: Sun, 20 Jan 2008 12:12:34 -0800 (PST) From: "Frank Huebbers (JIRA)" To: axis-c-dev@ws.apache.org Subject: [jira] Commented: (AXIS2C-920) Array size of 0 for nillable variable in deserialization of SOAP messages In-Reply-To: <31229599.1200699334005.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ 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 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., hello 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: axis-c-dev-unsubscribe@ws.apache.org For additional commands, e-mail: axis-c-dev-help@ws.apache.org