Stu,

We are in the process of meeting WS-I compliance with Axis 1.2.  Any
help would be much appreciated.  Please see:
http://nagoya.apache.org/wiki/apachewiki.cgi?AxisProjectPages/StandardsS
upported for more info.

Rick


-----Original Message-----
From: Stu Halloway (DevelopMentor) [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, July 09, 2003 8:58 PM
To: Navneet Joneja; axis-user
Subject: Re: Axis 1.1 generates incorrect code for
maxOccurs="unbounded"?

Hi Navneet,

Good question, but "the recommended way" presumes some authority we all 
accept, no? :-) I have several reasons for the technique I chose.

1. It is gross for a schema to have up-dependencies into the SOAP layer.

2. The code I wrote is cleaner and simpler, and therefore the first 
thing that came to mind.

3. WS-I basic profile, normative statements  R2110, R2111, R2112. See 
http://www.ws-i.org/Profiles/Basic/2003-06/BasicProfile-1.0-BdAD.html#re
finement34108752. 


Is Axis attempting to track the WS-I recommendations?

Stu

Navneet Joneja wrote:
> Any reason you defined your schema like this rather than using the
array
> spec (the recommended way to do it), like so:
> 
>    <xs:complexType name="Out1Type">
>        <xs:sequence>
>          <xs:element name="Out1Item1" type="xs:string"/>
>          <xs:element name="Out1Item2" type="xs:int"/>
>        </xs:sequence>
>    </xs:complexType>
>    
>    <xs:complexType name="ArrayOfOut1Type">
>        <xs:restriction base="soapenc:Array">
>           <xs:attribute ref="soapenc:ArrayType"
> wsdl:arrayType="mywsdl:Out1Type[]"/>
>        </xs:restriction>
>    </xs:complexType>
> 
>>From the WSDL spec:
> 
> Array types should extend the Array type defined in the SOAP v1.1
encoding
> schema (http://schemas.xmlsoap.org/soap/encoding/) (regardless of
whether
> the resulting form actually uses the encoding specified in Section 5
of the
> SOAP v1.1 document). Use the name ArrayOfXXX for array types (where
XXX is
> the type of the items in the array).  The type of the items in the
array and
> the array dimensions are specified by using a default value for the
> soapenc:arrayType attribute.  At the time of this writing, the XSD
> specification does not have a mechanism for specifying the default
value of
> an attribute which contains a QName value.  To overcome this
limitation,
> WSDL introduces the arrayType attribute (from namespace
> http://schemas.xmlsoap.org/wsdl/) which has the semantic of providing
the
> default value.  If XSD is revised to support this functionality, the
revised
> mechanism SHOULD be used in favor of the arrayType attribute defined
by
> WSDL. 
> 
> 
> -----Original Message-----
> From: Stu Halloway (DevelopMentor) [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 09, 2003 5:24 PM
> To: axis-user
> Subject: Axis 1.1 generates incorrect code for maxOccurs="unbounded"?
> 
> 
> Hi all,
> 
> I am building an Axis Web service to be consumed by a .NET client, and

> so far neither side's code generation or marshalling is behaving as I 
> would expect.
> 
> Given this element:
> 
>    <xs:element name="Out1">
>      <xs:complexType>
>        <xs:sequence minOccurs="0" maxOccurs="unbounded">
>          <xs:element name="Out1Item1" type="xs:string"/>
>          <xs:element name="Out1Item2" type="xs:int"/>
>        </xs:sequence>
>      </xs:complexType>
>    </xs:element>
> 
> Axis is generating a class that allows only single values for
Out1Item1 
> and Out1Item2, i.e.
> 
>      public class _Out1  implements java.io.Serializable {
>      private java.lang.String out1Item1;
>      private int out1Item2;
> 
>      public java.lang.String getOut1Item1() {
>          return out1Item1;
>      }
> 
>      public void setOut1Item1(java.lang.String out1Item1) {
>          this.out1Item1 = out1Item1;
>      }
>      //etc.
> 
> Is this expected?
> 
> You can download the full example at
> http://staff.develop.com/halloway/ReturnArrays.html. If this is a
known 
> bug I would be interested in helping to fix it.
> 
> Regards,
> Stu
> http://staff.develop.com/halloway/weblog
> 



Reply via email to