You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Frederik Colardyn <Fr...@faros.be> on 2006/02/10 09:42:05 UTC

problem sending attachments with Axis 1.2 when using non Axis clients

Hello,
 
We've got a problem when using Axis 1.2 as a webservice to send attachments to non Axis clients.
 
Our wsdl defines the binary attachment as xsd:hexBinary, which translates to <wsdl:part name="csv" type="apachesoap:Source"/> when deployed and asking the wsdl from the webservice.
 
The problem is the soap envelope it sends back to the client, it mentions xsi:type="ns1:Source" xmlns="" xmlns:ns1="http://xml.apache.org/xml-soap"/, which gives an error on the client:
 failed to deserialize xml:weblogic.xml.schema.binding.DeserializationException: mapping lookup failure for xml type ['http://xml.apache.org/xml-soap']:Source
 
Axis seems to enforce a apache.org specific decoding for the attachment, which is not cross platform. I think the webservice would work just fine if it just didn't supply any xsi:type nor xmlns, but i don't know if Axis can be configured not to. trying to set sendXsiTypes to false in the wsdd didn't work.
 
 
Anyone having success sending attachments from a Axis 1.2 server to a non Axis client? Upgrading to Axis 2 is not an option.
 
Client: weblogic
 
Source WSDL: 
<wsdl:message name="retrieveLoggingResponse">
  <wsdl:part type="xsd:hexBinary" name="csv" />
</wsdl:message>
 
Generated WSDL when asking ?WSDL from Axis servlet:
<wsdl:message name="retrieveLoggingResponse">
  <wsdl:part name="csv" type="apachesoap:Source"/>
</wsdl:message>
 
Returned evenvelope by Axis 1.2:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
 <soapenv:Body>  
  <retrieveLoggingResponse xmlns="http://telenet.be/idtv/portal/usagelogging/">   
   <csv href="cid:2FBC23FC4668CB8099EC63E11378CF34" xsi:type="ns1:Source" xmlns="" xmlns:ns1="http://xml.apache.org/xml-soap"/>  
  </retrieveLoggingResponse> 
 </soapenv:Body>
</soapenv:Envelope>
....
<2FBC23FC4668CB8099EC63E11378CF34>attachment...
Frederik Colardyn
J2EE developer / Technical Consultant
www.cronos.be
www.hwbot.org