When using doc/literal, you are supposed to send messages that conform to
the schema definition (that's what "literal" means). Therefore you should
not send type information in the message unless you need to override the
schema or when no schema exists. 

Use of xsi:type is specified in the WS-I Basic Profile, as follows:

4.1.15 Use of xsi:type Attributes
In many cases, senders and receivers will share some form of type
information related to the messages being exchanged. The xsi:type attribute
is only needed where no such schema exists, that is where both sides are
assuming that all exchanged items are "xsd:anyType". 

R1017 A RECEIVER MUST NOT mandate the use of the xsi:type attribute in
messages except as required in order to indicate a derived type (see XML
Schema Part 1: Structures, Section 2.6.1).

Anne

-----Original Message-----
From: Mark D. Hansen [mailto:[EMAIL PROTECTED] 
Sent: Friday, July 30, 2004 5:47 PM
To: AXIS Users (E-mail)
Subject: doc/lit ==> Call doesn't send xsi:type attributes ??

I'm trying to use org.apache.axis.client.Call to invoke a doc/lit service,
and I would like it to send the xsi:type attributes of the parameters (I'm
using WRAPPED style).  Using TCPMonitor, I notice that Axis doesn't send the
xsi:type attributes.  So, I dug into the org.apache.axis.client.Call code a
little and noticed that this is by design.  The Call code turns off xsi:type
attributes in the serialization context when the service is doc/lit.  Is
this a requirement of the WSDL specification or just the Axis default
behavior?

Thanks,

Mark

Reply via email to