Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 89159 invoked from network); 20 Dec 2005 04:58:27 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 20 Dec 2005 04:58:27 -0000 Received: (qmail 13558 invoked by uid 500); 20 Dec 2005 04:58:11 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 13537 invoked by uid 500); 20 Dec 2005 04:58:09 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 13526 invoked by uid 99); 20 Dec 2005 04:58:09 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Dec 2005 20:58:09 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=HTML_MESSAGE,UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [72.244.105.114] (HELO out.trax.aero) (72.244.105.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Dec 2005 20:58:07 -0800 Received: from trax-exchange.traxusers.com by trax.aero (MDaemon.PRO.v8.1.3.R) with ESMTP id md50000333895.msg for ; Mon, 19 Dec 2005 23:58:43 -0500 X-MIMEOLE: Produced By Microsoft Exchange V6.5.6944.0 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C60522.0B628C5D" Subject: Axis WSDL arrays read by .NET client Date: Mon, 19 Dec 2005 23:58:40 -0500 Message-ID: <94C7490E7A264B43A984C58E505D46E6290E20@trax-exchange.traxusers.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Axis WSDL arrays read by .NET client Thread-Index: AcYFIgtMGBEEUx2OTcKDBK0/ZeCqOg== From: "Luciano Belotto" To: X-Spam-Processed: mail.trax.aero, Mon, 19 Dec 2005 23:58:43 -0500 (not processed: message from valid local sender) X-MDRemoteIP: 10.50.1.4 X-Return-Path: luciano@trax.aero X-MDaemon-Deliver-To: axis-user@ws.apache.org X-MDAV-Processed: mail.trax.aero, Mon, 19 Dec 2005 23:58:44 -0500 Sensitivity: Company-Confidential X-Group: MGMNT X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. ------_=_NextPart_001_01C60522.0B628C5D Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello, Using Java Apache Axis 1.3 final. Read many postings on this, but still don't get it... My issue is in = regards to arrays defined on my Axis-generated WSDL's being consumed by = .net. Listed far below in an XSD I'm using. It contains an element called = AC_In_Out_Service_Outgoing_Element. I generate this XSD into java = classes, write a function to return an array (using []) of = AC_In_Out_Service_Outgoing_Element. I then publish the method to a WS = with Axis and Axis generates that part of it like so: complexType name=3D"ArrayOfAC_In_Out_Service_Outgoing_Element"> - - A .net client consumes that file. However, the element inside contains = an unbounded set of elements called AC_In_Out_Service_Lines_Defect, = which has inside AC_In_Out_Service_Line_Defect_Type which is an array of = AC_In_Out_Service_Line_Defect. The WSDL for it comes out as: - Why the difference in how Axis generates the arrays? The problem is, a = .net client says there is an error on this part... It says it is trying = to assign a single AC_In_Out_Service_Line_Defect object to an arrary = AC_In_Out_Service_Line_Defect[]. If I generate the client with java/axis, the client-side proxies look = the same. But with java/axis client, it consumes fine. This problem is = only on .NET client. But why? Below is the Tech_Records_AC_In_Out_Service_Notification.xsd.XSD: =09 =09 Control number for the out of service. This is = the unique identifier for an A/C in or out of service notifcation. =09 =09 Aircraft tail number or registration of = aircraft. =09 Indicator as to whether an item is causing the = A/C to be in or out of service. Note that if at least one item indicates = the A/C should be out of service, then it should be treated as being out = of service. =09 =09 Station where aircraft was placed in or out of = service. =09 =09 STC: DEFECTTYPE STC Description: If aircraft is out of service due to a defect, this is = the type of defect. =09 =09 If aircraft is out of service due to a defect, = this is the defect number. =09 =09 If aircraft is out of service due to a defect, = this is the item number of the defect that caused aircraft to go out of = service. =09 Work Order Number. The user stamp of the last save of the record. If boarding should be stopped. Possible Values: Y N This element will be set to true if this item was = the one that prompted the creation of the ac_in_out_service = notification. Since this is a WO it is assumed that the AC going out of service was = scheduled. This element will be set to true if this item was = the one that prompted the creation of the ac_in_out_service = notification. Since this is a defect it is assumed that the AC going out of service = was unscheduled. Set this parameter to true to only retrieve the = records that are currently out of service or pending out of service = status. ------_=_NextPart_001_01C60522.0B628C5D Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Axis WSDL arrays read by .NET client

Hello,

Using Java Apache Axis 1.3 final.

Read many postings on this, but still don't get it... My issue is in = regards to arrays defined on my Axis-generated WSDL's being consumed by = .net.

Listed far below in an XSD I'm using. It contains an element called = AC_In_Out_Service_Outgoing_Element. I generate this XSD into java = classes, write a function to return an array (using []) of = AC_In_Out_Service_Outgoing_Element. I then publish the method to a WS = with Axis and Axis generates that part of it like so:

complexType = name=3D"ArrayOfAC_In_Out_Service_Outgoing_Element">
-
        <complexContent>
-
        <restriction = base=3D"soapenc:Array">
<attribute ref=3D"soapenc:arrayType" = wsdl:arrayType=3D"tns1:AC_In_Out_Service_Outgoing_Element[]"/&g= t;
</restriction>
</complexContent>
</complexType>

A .net client consumes that file. However, the element inside contains = an unbounded set of elements called AC_In_Out_Service_Lines_Defect, = which has inside AC_In_Out_Service_Line_Defect_Type which is an array of = AC_In_Out_Service_Line_Defect. The WSDL for it comes out as:

<complexType = name=3D"AC_In_Out_Service_Line_Defect_Type">
-
        <sequence>
<element maxOccurs=3D"unbounded" = name=3D"AC_In_Out_Service_Line_Defect" = nillable=3D"true" = type=3D"tns1:AC_In_Out_Service_Line_Defect"/>
<element name=3D"AC_In_Out_Service_Line_DefectCount" = type=3D"xsd:int"/>
<element name=3D"valid" = type=3D"xsd:boolean"/>
</sequence>
</complexType>


Why the difference in how Axis generates the arrays? The problem is, a = .net client says there is an error on this part... It says it is trying = to assign a single AC_In_Out_Service_Line_Defect object to an arrary = AC_In_Out_Service_Line_Defect[].

If I generate the client with java/axis, the client-side proxies look = the same. But with java/axis client, it consumes fine. This problem is = only on .NET client. But why?

Below is the Tech_Records_AC_In_Out_Service_Notification.xsd.XSD:






<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<!--
TRAX Interface Tech_Records_AC_In_Out_Service_Notification Version = 0.0.2
Last updated: 2005-12-08T15:45:00

Revision History:

Version 0.0.2
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Added element <initial_Cause> to WO line and Defect line.


Version 0.0.1
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Initial releases to customers

-->
<schema xmlns=3D"http://www.w3.org/2001/XMLSchem= a"
targetNamespace=3D"http://trax.aero/xml/Tech_Records_AC_In_Out_Service_Notification.xsd= "
        =         xmlns:traxSys=3D"http://trax.aero/xml/TraxSys= tem.xsd"
        =         = xmlns:AC_In_Out_Service_Notification=3D"http://trax.aero/xml/Tech_Records_AC_In_Out_Service_Notification.xsd= ">
        =        
        <import = namespace=3D"http://trax.aero/xml/TraxSys= tem.xsd"
        =         = schemaLocation=3D"TraxSystem.xsd">
        </import>

        <complexType = name=3D"AC_In_Out_Service_Outgoing_Type">
        =         <sequence = minOccurs=3D"1" maxOccurs=3D"1">
        =         <element = name=3D"out_Service_No" = type=3D"AC_In_Out_Service_Notification:out_Service_No" = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         <annotation>
        =         =         =         = <documentation></documentation>
        =         =         </annotation>
        =         </element>
        =         <element = name=3D"ac" = type=3D"AC_In_Out_Service_Notification:AC" = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         <annotation>
        =         =         =         = <documentation></documentation>
        =         =         </annotation>
        =         </element>
        =         <element = name=3D"out_Of_Service_Station" = type=3D"AC_In_Out_Service_Notification:out_Of_Service_Station" = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         <annotation>
        =         =         =         = <documentation></documentation>
        =         =         </annotation>
        =         </element>
        =         <element = name=3D"modified_By" type=3D"traxSys:modified_By" = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         <annotation>
        =         =         =         = <documentation></documentation>
        =         =         </annotation>
        =         </element>
        =         <element = name=3D"modified_date" = type=3D"traxSys:modified_Date" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         <element = name=3D"AC_In_Out_Service_Lines_WO"
        =         =         = type=3D"AC_In_Out_Service_Notification:AC_In_Out_Service_Line_WO_Typ= e"
        =         =         minOccurs=3D"0" = maxOccurs=3D"1">
        =         </element>
        =         <element = name=3D"AC_In_Out_Service_Lines_Defect" = type=3D"AC_In_Out_Service_Notification:AC_In_Out_Service_Line_Defect= _Type" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         <element = name=3D"flight_status" = type=3D"AC_In_Out_Service_Notification:flight_Status" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         <element = name=3D"ac_Schedule_Out_Service_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         <element = name=3D"ac_Out_Of_Svr_Advised_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         <element = name=3D"ac_Schedule_In_Service_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         <element = name=3D"ac_Actual_In_Service_Date" type=3D"dateTime" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         </sequence>
        =         </complexType>
       
        <simpleType = name=3D"out_Service_No">
        <annotation>
        =         <documentation>Control = number for the out of service. This is the unique identifier for an A/C = in or out of service notifcation.
</documentation>
        </annotation>
        <restriction = base=3D"integer">
        =         =         <totalDigits = value=3D"8"></totalDigits>
        </restriction>
        = </simpleType>  
       
        <simpleType = name=3D"AC">
        <annotation>
        =         <documentation>Aircraft = tail number or registration of aircraft.</documentation>
        </annotation>
        <restriction = base=3D"traxSys:varcharTwoTen">
        =         =         <minLength = value=3D"1"></minLength>
        =         =         <maxLength = value=3D"10"></maxLength>
        =         </restriction>
        </simpleType>
       
        <simpleType = name=3D"flight_Status">
        <annotation>
        =         = <documentation>Indicator as to whether an item is causing the A/C = to be in or out of service. Note that if at least one item indicates the = A/C should be out of service, then it should be treated as being out of = service.
</documentation>
        </annotation>
        <restriction = base=3D"traxSys:varcharTwoTen">
        =         =         <minLength = value=3D"1"></minLength>
        =         =         <maxLength = value=3D"10"></maxLength>
        =         </restriction>
        = </simpleType>  
       
        <simpleType = name=3D"out_Of_Service_Station">
        <annotation>
        =         <documentation>Station = where aircraft was placed in or out of service.
</documentation>
        </annotation>
        <restriction = base=3D"traxSys:varcharTwoTen">     = ;         =        
        =         =         <maxLength = value=3D"10"></maxLength>
        =         </restriction>
        </simpleType>
       
        <simpleType = name=3D"defect_Type">
        <annotation>
        =         <documentation>STC: = DEFECTTYPE
STC Description: If aircraft is out of service due to a defect, this is =         the type of defect.
</documentation>
        </annotation>
        <restriction = base=3D"string">     =         =        
        =         =         <maxLength = value=3D"8"></maxLength>
        =         </restriction>
        </simpleType>
       
        <simpleType = name=3D"defect">
        <annotation>
        =         <documentation> If = aircraft is out of service due to a defect, this is the defect = number.
</documentation>
        </annotation>
        <restriction = base=3D"string">     =         =        
        =         =         <maxLength = value=3D"12"></maxLength>
        =         </restriction>
        </simpleType>
       
        <simpleType = name=3D"defect_Item">
        <annotation>
        =         <documentation> If = aircraft is out of service due to a defect, this is the item number of = the defect  that caused aircraft to go out of = service.</documentation>
        </annotation>
        <restriction = base=3D"integer">
        =         =         <totalDigits value = =3D"12"></totalDigits>
        =         </restriction>
        </simpleType>
       
        <simpleType = name=3D"WO">
        =         <annotation>
        =         =         <documentation>Work = Order Number.</documentation>
        =         </annotation>
        =         <restriction = base=3D"integer">
        =         =         <totalDigits = value=3D"8"></totalDigits>
        =         </restriction>
        </simpleType>

        <simpleType = name=3D"modified_By">
        =         <annotation>
        =         =         <documentation>
        =         =         =         The user stamp of the last = save of the record.
        =         =         </documentation>
        =         </annotation>
        =         <restriction = base=3D"traxSys:varcharTwoTen">
        =         =         <maxLength = value=3D"10"></maxLength>
        =         </restriction>
        </simpleType>

        <simpleType = name=3D"hold_Boarding">
        =         <annotation>
        =         =         <documentation>
        =         =         =         If boarding should be = stopped. Possible Values: Y N
        =         =         </documentation>
        =         </annotation>
        =         <restriction = base=3D"traxSys:varcharTwoTen">
        =         =         <maxLength = value=3D"10"></maxLength>
        =         </restriction>
        </simpleType>

        <element = name=3D"AC_In_Out_Service_Outgoing_Element"
        =         = type=3D"AC_In_Out_Service_Notification:AC_In_Out_Service_Outgoing_Ty= pe">
        </element>

        <complexType = name=3D"AC_In_Out_Service_Line_WO_Type">
        =         <sequence = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         <element = name=3D"AC_In_Out_Service_Line_WO" minOccurs=3D"0" = maxOccurs=3D"unbounded">
        =         =         =         <complexType>
        =         =         =         =         <sequence = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         =         =         =         <element = name=3D"wo" = type=3D"AC_In_Out_Service_Notification:WO" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"flight_Status" = type=3D"AC_In_Out_Service_Notification:flight_Status" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"hold_Boarding" = type=3D"AC_In_Out_Service_Notification:hold_Boarding" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Schedule_Out_Service_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Out_Of_Svr_Advised_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Schedule_In_Service_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Actual_In_Service_Date" type=3D"dateTime" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"initial_Cause" type=3D"boolean" = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         =         =         =         =         <annotation>
        =         =         =         =         =         =         =         <documentation>This = element will be set to true if this item was the one that prompted the = creation of the ac_in_out_service notification.
Since this is a WO it is assumed that the AC going out of service was = scheduled.</documentation>
        =         =         =         =         =         =         </annotation>
        =         =         =         =         =         </element>
        =         =         =         =         </sequence>
        =         =         =         </complexType>
        =         =         </element>
        =         </sequence>
        </complexType>

        <complexType = name=3D"AC_In_Out_Service_Line_Defect_Type">
        =         <sequence = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         <element = name=3D"AC_In_Out_Service_Line_Defect" = minOccurs=3D"0" maxOccurs=3D"unbounded">
        =         =         =         <complexType>
        =         =         =         =         <sequence = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         =         =         =         <element = name=3D"defect" = type=3D"AC_In_Out_Service_Notification:defect" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"defect_Type" = type=3D"AC_In_Out_Service_Notification:defect_Type" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"defect_Item" = type=3D"AC_In_Out_Service_Notification:defect_Item" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"flight_Status" = type=3D"AC_In_Out_Service_Notification:flight_Status" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"hold_Boarding" = type=3D"AC_In_Out_Service_Notification:hold_Boarding" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Schedule_Out_Service_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Out_Of_Svr_Advised_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Schedule_In_Service_Date" = type=3D"dateTime" minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"ac_Actual_In_Service_Date" type=3D"dateTime" = minOccurs=3D"0" = maxOccurs=3D"1"></element>
        =         =         =         =         =         <element = name=3D"initial_Cause" type=3D"boolean" = minOccurs=3D"0" maxOccurs=3D"1">
        =         =         =         =         =         =         <annotation>
        =         =         =         =         =         =         =         <documentation>This = element will be set to true if this item was the one that prompted the = creation of the ac_in_out_service notification.
Since this is a defect it is assumed that the AC going out of service = was unscheduled.</documentation>
        =         =         =         =         =         =         </annotation>
        =         =         =         =         =         </element>
        =         =         =         =         </sequence>
        =         =         =         </complexType>
        =         =         </element>
        =         </sequence>
        </complexType>

        <complexType = name=3D"AC_In_Out_Service_Query_Type">
        =         <sequence>
        =         =         <element = name=3D"get_OutOfService_Pending_Records" = type=3D"boolean" minOccurs=3D"0" = maxOccurs=3D"1">
        =         =         =         <annotation>
        =         =         =         =         <documentation>Set this = parameter to true to only retrieve the records that are currently out of = service or pending out of service status.
</documentation>
        =         =         =         </annotation>
        =         =         </element>
        =         </sequence>
        </complexType>

        <element = name=3D"AC_In_Out_Service_Query_Element" = type=3D"AC_In_Out_Service_Notification:AC_In_Out_Service_Query_Type&= quot;></element>

</schema>


------_=_NextPart_001_01C60522.0B628C5D--