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 Tom Jordahl <to...@macromedia.com> on 2004/11/18 16:01:00 UTC

RE: [jira] Updated: (AXIS-530) elements without minOccurs="0" pro duce isnill="true" on the wire

Wow! +1

Are you shooting for committer status?  Because we can arrange that you
know.. :-)

Thanks Dominik for this great work.  I assume all-tests passes?  Do you have
a test or 2 that would make sure we don't break this in the future?


Axis Team - I am inclined to take this patch for 1.2 after review.  

I also have a change that fixes the RPC/Encoded .NET array serialization
that I was going to check in today.


--
Tom Jordahl
Macromedia Server Development

> -----Original Message-----
> From: Dominik Kacprzak (JIRA) [mailto:axis-dev@ws.apache.org]
> Sent: Thursday, November 18, 2004 1:43 AM
> To: axis-dev@ws.apache.org
> Subject: [jira] Updated: (AXIS-530) elements without minOccurs="0" produce
> isnill="true" on the wire
> 
>      [ http://nagoya.apache.org/jira/browse/AXIS-530?page=history ]
> 
> Dominik Kacprzak updated AXIS-530:
> ----------------------------------
> 
>     Attachment: patch.tar.gz
> 
> The attached patch provides a fix for various bugs related to Axis
> treatment of element's nillable attribute. Although the default value of
> nillable attribute is "false". Axis assumes that a nillable attribute is
> always true and it does not keep track of its real value.  It leads to
> scenarios in which Axis allows a non-nillable element to be null. For Axis
> there is no difference between the following two definitions:
> <element name="areaCode" type="string" minOccurs="0" maxOccurs="1"/>
> and
> <element name="areaCode" type="string" minOccurs="0" maxOccurs="1"
> nillable="true"/>
> The proposed fix adds an additional field to
> org.apache.axis.description.ElementDesc.  The nillable property defaults
> to false and is populated based on web services deployment definition or
> element's type.  As a result, Axis enforces stricter rules when generating
> web services.  An exception is thrown when a null value is passed as a
> value of a non-nillable, required element.
> The attached tar ball contains the modified files and a README file with
> cvs diffs and explanation for the changes.  This patch fixes the following
> JIRA issues:
>  - AXIS-530
>  - AXIS-1321
>  - AXIS-1332
>  - AXIS-1357
>  - AXIS-1670
> Please apply this patch to CVS repository.  Feel free to ping me if there
> are any questions.
> 
> thanks,
> 
> - Dominik
> 
> > elements without minOccurs="0" produce isnill="true" on the wire
> > ----------------------------------------------------------------
> >
> >          Key: AXIS-530
> >          URL: http://nagoya.apache.org/jira/browse/AXIS-530
> >      Project: Axis
> >         Type: Bug
> >   Components: Serialization/Deserialization
> >     Versions: 1.0
> >  Environment: Operating System: Other
> > Platform: Other
> >     Reporter: Andre Kramer
> >     Assignee: Glen Daniels
> >  Attachments: patch.tar.gz
> >
> > Elements that are marked optional in wsdl schema. e.g. profile field in:
> > <complexType name="User">
> >   <sequence>
> >     <element name="profile" type="someComplexType" minOccurs="0"/>
> >   </sequence>
> > </complexType>
> > <element name="User" type="types:User"/>
> > Produces (inside SOAP body element) on the wire:
> > <User>
> >    <profile xsi:nil="true"/>
> > </User>
> > Since the profile schema element is not marked as nillable="true" (only
> > minOccurs="0") it would (at least) save bandwidth to just drop it
> altogether:
> > <User>
> > </User>
> > [Both formats already work for deserialization.]
> > thanks,
> > Andre
> 
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://nagoya.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira

Re: [jira] Updated: (AXIS-530) elements without minOccurs="0" pro duce isnill="true" on the wire

Posted by Dominik Kacprzak <do...@opentoolbox.com>.
Tom,

all functional-tests are passing. Unfortunately I missed a few additional tests which are executed by 'all-tests' target. I have attached the additional fixes with my email. Sorry about that! 

My patch already contains an extended test.wsdl.omit.OmitTestCase which verifies that passing null as a value of nillable and required element produces an exception.  I will look into creating a unit test that verifies wsdl generated by Axis' ?wsdl (AXIS-1670).
And yes, I am aiming at obtaining a committer status:)

- Dominik

On Thu, Nov 18, 2004 at 10:01:00AM -0500, Tom Jordahl wrote:
> Wow! +1
> 
> Are you shooting for committer status?  Because we can arrange that you
> know.. :-)
> 
> Thanks Dominik for this great work.  I assume all-tests passes?  Do you have
> a test or 2 that would make sure we don't break this in the future?
> 
> 
> Axis Team - I am inclined to take this patch for 1.2 after review.  
> 
> I also have a change that fixes the RPC/Encoded .NET array serialization
> that I was going to check in today.
> 
> 
> --
> Tom Jordahl
> Macromedia Server Development

RE: [jira] Updated: (AXIS-530) elements without minOccurs="0" produce isnill="true" on the wire

Posted by Dominik Kacprzak <do...@opentoolbox.com>.
I extended test.wsdl.omit.OmitTestCase to test a fix for AXIS-1670. Since
AXIS-1670 has been already closed, I attached a patch with this email. I
would appreciate if somebody could apply it to CVS.

thanks,

- Dominik