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 "Peter Wisnovsky (JIRA)" <ax...@ws.apache.org> on 2005/08/04 01:47:35 UTC

[jira] Commented: (AXIS-2155) Cannot distinguish "element not present" and "element present and nil"

    [ http://issues.apache.org/jira/browse/AXIS-2155?page=comments#action_12317552 ] 

Peter Wisnovsky commented on AXIS-2155:
---------------------------------------

FWIW, This is a blocker for us. For comparison .NET Framework 2.0 emits a "xxxSpecified" attribute for minOccurs=0 primitive types.

> Cannot distinguish "element not present" and "element present and nil"
> ----------------------------------------------------------------------
>
>          Key: AXIS-2155
>          URL: http://issues.apache.org/jira/browse/AXIS-2155
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization
>     Versions: 1.2.1
>  Environment: Windows XP
>     Reporter: Peter Wisnovsky
>     Priority: Critical
>  Attachments: simple_axis.zip
>
> I have a web service where I need to distinguish between "a value was not sent" and "a value was sent and is nil", both to and from the server. If I have an element of a complex type with a subelement where nillable="true" and minOccurs="0" AXIS generates the attribute of the Java class, but there seems to be no way to indicate for
> <xs:complexType name="ResourceType">
> <xs:complexContent>
> <xs:extension base="pvOperational:PersonType">
> <xs:sequence>
> ..
> <xs:element name="employerRef" type="pvOperational:AgencyReferenceType" minOccurs="0" nillable="true"/>
> that I want no employerRef or a nil employerRef, e.g.
> <resource>
> <employerRef xsi:nil="true"/>
> </resource>
> versus
> <resource/>
> In either case all I see in the proxy is an attribute employerRef that might or might not be null.
> Is this supported? JaxRPC is admittedly unclear on the point as the only issue it discusses is the use of Java holder classes for primitives for either minOccurs=0 OR nillable=true and does not discuss minOccurs=0 AND nillable=true, but it seems pretty fundamental if you are dealing with database-based services to have null indicators.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira