axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Schoeman (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.
Date Wed, 08 Mar 2006 07:52:41 GMT
    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12369409 ] 

Justin Schoeman commented on AXIS2-455:
---------------------------------------

1) This problem seems to be server side, although I assume it will affect both sides.  The
original problem I experienced was that a dotNET generated client gave parsing errors when
handling a response from an Axis2 server.  I later noticed that although Axis2 clients did
not give this error, they still did not process the messages correctly.

2) The following are the files required for WSDL2Java:
http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/WSDL/xmlvend-full-2.0.wsdl
http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/Schema/xmlvend-base-2.0.xsd
http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/Schema/xmlvend-revenue-2.0.xsd
http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/Schema/xmlvend-meter-2.0.xsd

3) If you can make your test publically available, I can connect from here and test.  Otherwise
you can test with an Axis2 client by making sure that abstract types are deserialised by their
wire type, instead of their WSDL type (which is the abstract type).

For example, using out-of-the-box Axis2 0.94, if the client sends a GenericDeviceID for the
BaseReq::ClientID, then the server will deserialise this as a (useless) DeviceID type. (DeviceID
is abstract and GenericDeviceID is an implementation of it).

If, however, you modify the request message to include the xsi namespace, and change 'type'
to 'xsi:type', then the server correctly deserialises it as a GenericDeviceID.

This, and turning off WSA headers should solve the problems for dotNET clients too.

Thanks,

Justin

(If you need any help, please let me know - I am willing to help out in any way possible.)


> Axis2 dotNET interoperability problem with abstract types.
> ----------------------------------------------------------
>
>          Key: AXIS2-455
>          URL: http://issues.apache.org/jira/browse/AXIS2-455
>      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
>     Assignee: Ajith Harshana Ranabahu
>     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='http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema',
at <clientID xmlns='http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema'>
> 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 with:
> "xml schema type attribute is serialized with wrong namespace (should be http://www.w3.org/2001/XMLSchema-instance,
is currently not namespace qualified)"
> As a test, I recorded the XML response, and editted it so that:
> <clientID xmlns="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" type="GenericDeviceID"
id="12345" />
> became:
> <clientID xmlns="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema" 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 not).
> For testing, the wsdl and xsd files are available from:
> http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/XMLVend20.asp
> 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.
> Thanks,
> Justin

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message