axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marc Schmidt" <marc.schm...@1und1.com>
Subject How to send binaries as base64?
Date Wed, 11 Aug 2004 13:44:11 GMT
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





Mime
View raw message