java2wsdl does not use base64Binary for byte[][]
------------------------------------------------

         Key: AXIS-1773
         URL: http://issues.apache.org/jira/browse/AXIS-1773
     Project: Axis
        Type: Bug
  Components: WSDL processing  
    Versions: 1.2RC2    
 Environment: Windows 2000, Java 1.4.2
    Reporter: Peter Eastman


One method in my web service takes an argument of type byte[][], which contains 
a set of binary files to upload.  When I run java2wsdl, it generates the 
following definition:

   <complexType name="ArrayOf_xsd_base64Binary">
    <complexContent>
     <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:byte[][]"/>
     </restriction>
    </complexContent>
   </complexType>

As seen from the name, this is clearly intended to be a 1D array of base64 
encoded byte arrays.  Unfortunately, it actually is a 2D array of individually 
encoded bytes.  When I build stubs from it with wsdl2java and view the request 
message with SOAPMonitor, it looks like this:

<fileContents xsi:type="soapenc:Array" soapenc:arrayType="xsd:byte[][2]" ...>
 <item soapenc:arrayType="xsd:byte[25]">
  <item>77</item>
  <item>49</item>
  ...

This turns even small files into enormous messages.

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to