Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.0-M3
-
Fix Version/s: 1.2-RC
-
Component/s: Aegis Module
-
Labels:None
-
Number of attachments :
Description
Nicolas Averseng writes:
Let's take the following class structure as an example :
public interface I
{
String getName();
void setName(String name);
}
public class A implements I
{
private String m_name;
public String getName()
{ return m_name; }public void setName(String name)
{ m_name = name; }}
public class B extends A
{
private String m_data;
public String getData)
{ return m_data; }public void setData(String data)
{ m_data = data; }}
public interface SampleService1
{ public A getA(String name); public B getB(String name, int i); } public interface SampleService2 { public A getA(String name); public B getB(String name, int i); public I getI(String name); } public interface SampleService3 { public A getA(String name); public B getB(String name, int i); public Collection findSomeA() throws RemoteException; }1- When generating the WSDL for a service with interface SampleService1, the inheritance relationship between B and A is not included into the schema definition.
<xsd:complexType name="B">
<xsd:sequence>
<xsd:element name="data" nillable="true" type="xsd:string"/>
<xsd:element name="name" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="A">
<xsd:sequence>
<xsd:element name="name" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
instead of :
<xsd:complexType name="B">
<xsd:complexContent>
<xsd:extension base="A">
<xsd:sequence>
<xsd:element name="data" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="A">
<xsd:sequence>
<xsd:element name="name" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
Issue Links
- is depended upon by
-
XFIRE-173
Exception inheritance not handled correctly
-
This isn't too hard to incorporate, but I don't know if I'll get to it before we do an M4 release.
As a workaround you could provide your own wsdl with extended types.