You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Justin Schoeman (JIRA)" <ji...@apache.org> on 2006/02/20 09:04:59 UTC

[jira] Created: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

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
    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


Re: [jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by Ruchith Fernando <ru...@gmail.com>.
Hi Justin,

> On the topic, I have managed to trace the root cause of the problem.  It seems to
> be as simple as switching from WSA off - using an inline filter to remove WSA
> headers and change types to xsi: works perfectly with .NET clients.  Is there any
> way to turn off WSA in axis2?

If you are using Axis2-0.94 by default addressing is enabled. But now
in the latest SVN this is removed and you will not get any WSA stuff
in the client's request unless you are specifically engaging the
addressing module. In other words from the next release you can turn
on WSA stuff only if you want to. Does this solve the problem?

Thanks
Ruchith

Re: [jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by Justin Schoeman <ju...@expertron.co.za>.
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 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">#;
# 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.

-justin

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 <ju...@expertron.co.za> wrote:
> 
>>Personally, I would love it if this was fixed! But I don't think turning
>>off WSA is enough.  I set the
>>org.apache.axis2.Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES
>>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.
>>
>>Thanks
>>
>>-justin
>>
>>Davanum Srinivas (JIRA) wrote:
>>
>>>    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12368337 ]
>>>
>>>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: 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
>>>>   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
>>>
>>>
> 
> 
> --
> Ajith Ranabahu

Re: [jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by Sanjiva Weerawarana <sa...@opensource.lk>.
On Thu, 2006-03-02 at 04:01 -0600, 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, is this in code *generated* by XMLBeans?? If so I agree but
otherwise its our problem ..

Sanjiva.


Re: [jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by Ajith Ranabahu <aj...@gmail.com>.
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 <ju...@expertron.co.za> wrote:
> Personally, I would love it if this was fixed! But I don't think turning
> off WSA is enough.  I set the
> org.apache.axis2.Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES
> 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.
>
> Thanks
>
> -justin
>
> Davanum Srinivas (JIRA) wrote:
> >     [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12368337 ]
> >
> > 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: 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
> >>    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
> >
> >
>


--
Ajith Ranabahu

Re: [jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by Justin Schoeman <ju...@expertron.co.za>.
Personally, I would love it if this was fixed! But I don't think turning 
off WSA is enough.  I set the 
org.apache.axis2.Constants.Configuration.DISABLE_ADDRESSING_FOR_OUT_MESSAGES
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.

Thanks

-justin

Davanum Srinivas (JIRA) wrote:
>     [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12368337 ] 
> 
> 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: 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
>>    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
> 
> 

[jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12368337 ] 

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: 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
>     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


[jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12368248 ] 

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

Well, I don't know if it is blocker, or not, but interoperability _is_ fairly important for a webservices platform...

On the topic, I have managed to trace the root cause of the problem.  It seems to be as simple as switching from WSA off - using an inline filter to remove WSA headers and change types to xsi: works perfectly with .NET clients.  Is there any way to turn off WSA in axis2?

On the same note, I have just filed bug 479 which shows that Axis2 actually has the same problems handling abstract types, it just does not report an error.


> 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
>     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


[jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12369386 ] 

Deepal Jayasinghe commented on AXIS2-455:
-----------------------------------------

I need to get some infor to fix this  problem 

1.Is this the problem in Axis2 client side , what I understood from your first comment was that
2.What is the exact WSDL that I have to take a look at. (http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/WSDL/xmlvend-full-2.0.wsdl)
3.right now I have no way of creating C# client I can test both Axis2 server side and client side and if the remote service is up and running then I can run client against that service.

Please response me as soon as possible , then I can try my best to fix the issues before next release.  

> 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


[jira] Assigned: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-455?page=all ]

Deepal Jayasinghe reassigned AXIS2-455:
---------------------------------------

    Assign To: Ajith Harshana Ranabahu

yes , I agree that we need to interop with others :) 

Ajith I think this is a codegen issue , can u pls take a look at that.

> 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


[jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ 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


[jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Justin Schoeman (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12367257 ] 

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

I forgot to mention, the webservice is generated with -d xmlbeans. Full generation command is:

java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2Java -p expertron_client -d xmlbeans -uri xmlvend-full-2.0.wsdl -ss -t -sd

> 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
>     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


[jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12368233 ] 

Deepal Jayasinghe commented on AXIS2-455:
-----------------------------------------

I don't think this is a blocker for next release , I know that fact that we have to fix the issue but I don wont this to be the blocker for next release.

Comments .....  


> 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
>     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


[jira] Commented: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Ajith Harshana Ranabahu (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-455?page=comments#action_12371076 ] 

Ajith Harshana Ranabahu commented on AXIS2-455:
-----------------------------------------------

The problem is found and fixed. It had to do with the builder where the builder logic was slightly faulty in handling namespace attributes. The pull parser provided by XMLBeans had a behavior we did not expect (but nevertheless correct).
I will close the Jira once a solid testcase is present it the integration tests

> 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


[jira] Resolved: (AXIS2-455) Axis2 dotNET interoperability problem with abstract types.

Posted by "Ajith Harshana Ranabahu (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-455?page=all ]
     
Ajith Harshana Ranabahu resolved AXIS2-455:
-------------------------------------------

    Resolution: Fixed

A test case is added to Axis2 as promised!

> 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