You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by Erik van Zijst <er...@marketxs.com> on 2001/03/12 17:46:42 UTC

Inheritance resolved

Hi,

I wrote a couple of times before about trouble with serializing inherited 
objects.
Right now, our whole SOAP project is on hold because of this.

Synopsis:
Our existing Java API uses polymorphism and arguments with inheritance. WSDL 
doesn't seem to support inheritance, which makes it very difficult to provide 
a SOAP interface for it.

I summarized our internal document about it and put it online for the experts 
(that would be you) to view it and give my any leads.

You could read the entire document, but it only really gets interesting from 
paragraph 3.3
The text talks about MDK quite a bit. This is our current API and stands for 
"MarketXS Developers Kit".

The URL is: http://prutser.cx/~icehawk/SOAP-Research.html

Please tell me if I missed anything, or if SOAP isn't quite suitable after 
all.

Thanks in advance,
Erik van Zijst
-- 
Do not simplify the design of a program if a way can be found to make
it complex and wonderful.

RE: Inheritance resolved

Posted by Oisin Hurley <oh...@iona.com>.
>Synopsis:
>Our existing Java API uses polymorphism and arguments with
>inheritance. WSDL
>doesn't seem to support inheritance, which makes it very difficult
>to provide
>a SOAP interface for it.

There are at least two ways you can deliver inheritance in WSDL.

  1. flatten the inheritance tree and take advantage of namespace
  mechanisms to avoid clashes

  2 generate separate portTypes for each interface in the hierarchy
  link these portTypes by adding a custom extensibility element that
  indicates the inheritance relationship

No guaranteer that these will work for all WSDL processors without
some code alterations.

>Please tell me if I missed anything, or if SOAP isn't quite suitable after
>all.

I had a quick look at that section in the doc. It appears that you are
including the state information of classes in the WSDL - remember that
WSDL defines interfaces to implementations, not objects.

 --oh


RE: Inheritance resolved

Posted by Oisin Hurley <oh...@iona.com>.
>Synopsis:
>Our existing Java API uses polymorphism and arguments with
>inheritance. WSDL
>doesn't seem to support inheritance, which makes it very difficult
>to provide
>a SOAP interface for it.

There are at least two ways you can deliver inheritance in WSDL.

  1. flatten the inheritance tree and take advantage of namespace
  mechanisms to avoid clashes

  2 generate separate portTypes for each interface in the hierarchy
  link these portTypes by adding a custom extensibility element that
  indicates the inheritance relationship

No guaranteer that these will work for all WSDL processors without
some code alterations.

>Please tell me if I missed anything, or if SOAP isn't quite suitable after
>all.

I had a quick look at that section in the doc. It appears that you are
including the state information of classes in the WSDL - remember that
WSDL defines interfaces to implementations, not objects.

 --oh