axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Schoeman <>
Subject Re: [jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.
Date Thu, 02 Mar 2006 10:23:46 GMT
I don't think it is related to xmlbeans.  I think it is a fundamental 
problem with the soap encoding - both axis and dotNET expect the type 
attribute to be called xsi:type (with the appropriate namespaces defined 
in the envelope). Without this, deserialisation does not work.  As an 
example, I apply the following filters to the axis generated soap message:

# change type to xsi:type
$buffer =~ s# type="# xsi:type="#g;
# rewrite envelope header
$buffer =~ s#<soapenv:Envelope.*?>#<soap:Envelope 
# rename soapenv to soap
$buffer =~ s#soapenv:#soap:#g;
# delete header
$buffer =~ s#<soap:Header.*soap:Header>##g;

With these filters applied, both Axis and dotNET clients successfully 
read (and deserialise) the messages.


Ajith Ranabahu wrote:
> Hi all,
> I'm surprised to hear that XMLbeans fails to do the right thing! May
> be we need to redirect the issue to some of the XMLBeans gurus ?
> Ajith
> On 3/2/06, Justin Schoeman <> wrote:
>>Personally, I would love it if this was fixed! But I don't think turning
>>off WSA is enough.  I set the
>>message property for outgoing messages, and it did not help.  It seems
>>certain clients (dotNET and AXIS2) need the xsi namespace...
>>Please not bug AXIS2-479 which shows that axis2 clients are also
>>affected by the bug, but to a different extent (they will successfully
>>parse the xml, but cast the resulting object to the wrong type).
>>If I can help in any way, please let me know.
>>Davanum Srinivas (JIRA) wrote:
>>>    [
>>>Davanum Srinivas commented on AXIS2-455:
>>>I think we need to fix this issue for the next release.
>>>>Axis2 dotNET interoperability problem with abstract types.
>>>>        Key: AXIS2-455
>>>>        URL:
>>>>    Project: Apache Axis 2.0 (Axis2)
>>>>       Type: Bug
>>>>   Versions: 0.94
>>>>Environment: Suse Linux 9.3 Server, Tomcat 5.0, Axis2 0.94
>>>>Windows XP with Vistual studio .NET 2003 client
>>>>   Reporter: Justin Schoeman
>>>>   Priority: Blocker
>>>>I have been getting the following error message connecting C# clients to an
Axis2 service:
>>>>There is an error in XML document (1, 877). ---> System.InvalidOperationException:
The specified type is abstract: name='DeviceID', namespace='',
at <clientID xmlns=''>
>>>>Following a discussion on the Axis2 user list (titled "Consuming Axis2 webservice
with c# client?", starting on 17/02/06), it was discovered that this was due to an incorrect
namespace in the Axis2 message.
>>>>The following is the description of the problem that Simon Fell responded
>>>>"xml schema type attribute is serialized with wrong namespace (should be,
is currently not namespace qualified)"
>>>>As a test, I recorded the XML response, and editted it so that:
>>>><clientID xmlns="" type="GenericDeviceID"
id="12345" />
>>>><clientID xmlns="" xsi:type="GenericDeviceID"
id="12345" />
>>>>(I did this for every occurence of the 'type' attribute.)
>>>>The C# client successfully received the response (but the Axis2 client did
>>>>For testing, the wsdl and xsd files are available from:
>>>>If someone could give me a vague idea where to look in the source, I would
like to get a quick-fix going to get our system running.
> --
> Ajith Ranabahu

View raw message