I found a possible bug in Java2WSDL, but I can't fix it right now due to
other pressing concerns.

In _Table.java, move the _Record[] get_Record() method to a location prior
to _Record get_Record(int index).
Recompile, re-deploy and run ?wsdl  (or Java2WSDL).

Let me know if this works.

Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)


                                                                                       
                                            
                      R J Scheuerle                                                    
                                            
                      Jr/Austin/IBM@IBM        To:       [EMAIL PROTECTED]      
                                            
                      US                       cc:       "'[EMAIL PROTECTED]'" 
<[EMAIL PROTECTED]>                   
                                               Subject:  RE: array serialization 
problem (user error ?)                            
                      03/01/2002 08:42                                                 
                                            
                      AM                                                               
                                            
                      Please respond to                                                
                                            
                      axis-user                                                        
                                            
                                                                                       
                                            
                                                                                       
                                            




Was the wsdl generated by WSDL2Java or ?wsdl?

My concern is that the wsdl description does not match the format of the
service response.
So either the service was implemented incorrectly, or the wsdl generation
from the service is wrong.

The service is sending back a response ScreenOutputs__Table that matches
(1) below.
However the wsdl indicates that a ScreenOutputs__Table contains an
array...a different format.


Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)



                      Dave Dunkin
                      <DaveDu@Attachmat        To:
"'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
                      e.com>                   cc:
                                               Subject:  RE: array
serialization problem (user error ?)
                      02/28/2002 05:17
                      PM
                      Please respond to
                      axis-user





The wsdl is from a deployed axis service. Sorry, I guess I didn't make that
part clear before. The problem isn't with the axis stubs (like I said
before, .NET stubs fail too), it's with the axis service. I've attached as
much of the source code as I can provide.


Dave Dunkin


-----Original Message-----
From: R J Scheuerle Jr [mailto:[EMAIL PROTECTED]]
Sent: Thursday, February 28, 2002 3:07 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: array serialization problem (user error ?)





I took a serious look your ServiceOne.wsdl document, and it doesn't appear
to match your response files.


Here's a snippet of the response file:


  <multiRef id="id1" SOAP-ENC:root="0"
     xsi:type="ns3:ScreenOutputs__Table"
    xmlns:ns3="http://output.getOrderData.ServiceOne.serviceone";
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";>


   <_Record href="#id2"/>
   <_Record href="#id3"/>
   ...
<multiRef />


<multiRef id="id2"
      SOAP-ENC:root="0"
      xsi:type="ns20:ScreenOutputs__Table__Record"
      xmlns:ns20="http://output.getOrderData.ServiceOne.serviceone";
      xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/";>


   <order xsi:type="xsd:string">1</order>
   ....
</multiRef>


The response indicates that a _Record should be of type
"ns2:ScreenOutputs__Table__Record",
but in your wsdl you have _Record as type
="intf:ArrayOf_tns2_ScreenOutputs__Table__Record".


The numerous _Record fields indicate that it should have the maxOccurs
="unbounded" attribute.


Do the following:


1) Change the ScreenOutputs__Table to:


    <complexType name="ScreenOutputs__Table">
       <all>
         <element name="_Record"
             nillable="true" maxOccurs="unbounded"
             type="tns2:ScreenOutputs__Table__Record"/>
       </all>
    </complexType>


2) Get rid of the complexType ArrayOf_tns2_ScreenOutputs__Table__Record.


3) Re-run WSDL2Java and try again.





Where did you get this WSDL ?


Rich Scheuerle
XML & Web Services Development
512-838-5115  (IBM TL 678-5115)


  (See attached file: AxisBinding.tar.gz)







#### AxisBinding.tar.gz has been removed from this note on March 01 2002 by
R J Scheuerle Jr


Reply via email to