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>

 

Reply via email to