Hi All.

To keep it short.

I want to send an array of binaries from a java app to a soap server
using
axis.

Here the part of the wsdl:
  
<complexType name="ArrayOf_xsd_base64Binary">
        <complexContent>
                <restriction base="soapenc:Array">
                <attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:base64Binary[]"/>
                </restriction>
        </complexContent>
</complexType>
<complexType name="PictureContainer">
        <sequence>
                <element name="allPages" nillable="true"
type="impl:ArrayOf_xsd_base64Binary"/>
        </sequence>
</complexType>

Through the axis.wsdl compiler it mapps perfectly to byte[][].

But the xml-output eventually evolving looks like this:

  <multiRef id="id1" soapenc:root="0"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
xsi:type="ns3:STGPictureContainerVO" xmlns:ns3="http://bla"; 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
   <allPages xsi:type="soapenc:Array" soapenc:arrayType="xsd:byte[][1]">
    <item soapenc:arrayType="xsd:byte[15072]">
     <item>0</item>
     <item>0</item>
     <item>-125</item>
     <item>48</item>
        ...

I do not expect each and every single byte to be tagged. I would rather
like to see
something like a stream:
          <allPages xsi:type="soapenc:Array"
soapenc:arrayType="xsd:base64Binary[1]">          
            <item xsi:type="xsd:base64Binary">
        
lGODdhwAb7CJAAAP///wAAACwAAAAAwAb7CAAC/4SPqcvtD6OctNqLs968
                </item>
          </allPages>

How do I get there? I cannot attach the binaries using MIME. They
unfortunately need
to be encoded base64 and contained in the soap envelope.

Help of any type is appreciated.

Cheers




Reply via email to