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 James Frankman <jf...@idfbins.com> on 2006/12/04 16:47:12 UTC

How Can I Handle a Microsoft char data type from Axis client

I am trying to consume a web service written in .NET. When I generate
the client using Apache Axis, most of the methods work. However, in the
WSDL for the web service I am trying to consume, some elements are
defined as a Microsoft char data type: 

 

<s:element minOccurs="1" maxOccurs="1" name="Status" type="s1:char"/>  

 

 

For some reason Apache axis tries to map this char datatype to an
"UnsignedShort". So when the soap envelope is sent to the .NET service
it contains: 

 

<Status xsi:type="xsd:unsignedShort">1</Status>  

 

 

instead of something like: 

 

 

<Status xsi:type="q0:char">1</Status> 

(where namespace q0="http://microsoft.com/wsdl/types/") 

 

 

The causes the web service call to fail because the .NET web service is
expecting a char datatype, not an unsignedShort. How can I configure
Apache Axis so that the client will send the Microsoft char type in the
soap envelope: 

 

 

<Status xsi:type="q0:char">1</Status>