Hi Agnes,

Many older SOAP implementations require the types to be present, though with others (such as .NET) the default is to not use the types. Axis includes support for generating SOAP without the xsi types, but you have to configure it to operate this way. As far as I know, the normal way of doing this is through the sendXsiTypes parameter in the configuration - I'll paste in an example of a client-side WSDD that does this below.

That said, there was a problem in the handling of objects being passed with sendXsiTypes=false (http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15219). This was just corrected in the CVS code yesterday, so the fix should be included in the latest nightly build. I haven't tested it yet, will try to do that later today.

- Dennis

Dennis M. Sosnoski
Sosnoski Software Solutions, Inc.
http://www.sosnoski.com

client-config.wsdd example with sendXsiTypes=false:

<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="http://xml.apache.org/axis/wsdd/"; xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
<globalConfiguration>
<parameter name="sendXsiTypes" value="false"/>
</globalConfiguration>
<transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/>
<transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/>
<transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/>
<typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" type="java:flightsraw.TimeTableBean" qname="ns1:TimeTableBean" xmlns:ns1="http://flightsraw"/>
<typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" type="java:flightsraw.CarrierBean" qname="ns2:CarrierBean" xmlns:ns2="http://flightsraw"/>
<typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" type="java:flightsraw.AirportBean" qname="ns3:AirportBean" xmlns:ns3="http://flightsraw"/>
<typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" type="java:flightsraw.RouteBean" qname="ns4:RouteBean" xmlns:ns4="http://flightsraw"/>
<typeMapping encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" type="java:flightsraw.FlightBean" qname="ns5:FlightBean" xmlns:ns5="http://flightsraw"/>
</deployment>

BOURLON Agn�s wrote:

Hello,

I would like to know if a service Axis can work with the property
PROP_SEND_XSI =false
If yes, I don't understand what is the advantage to use the xsi types in the
envelope?
Thanks in adavance,
Agnes

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran�ais !
Yahoo! Mail : http://fr.mail.yahoo.com




Reply via email to