Hi,
Is there anyway to get CXF to generate an inheritance hierarchy of users
defined exceptions? For example, I'd like to generate something like the
following from a WSDL:
public interface Greeter {
public void pingMe() throws PingMeSubclassFault, PingMeFault;
}
where PingMeSubclassFault is a subclass of PingMeFault. The WSDL below
doesn't seem to do the trick i.e. PingMeFault and PingMeSubclassFault are
not related via inheritance. The actually WSDL I'm working with has a rich
hierarchy of exception so the lack of exception inheritance makes the
generated code hard to work with.
Thanks,
Joel
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="HelloWorld"
targetNamespace="http://apache.org/hello_world_soap_http"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://apache.org/hello_world_soap_http"
xmlns:x1="http://apache.org/hello_world_soap_http/types"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<schema
targetNamespace="http://apache.org/hello_world_soap_http/types"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://apache.org/hello_world_soap_http/types"
elementFormDefault="qualified">
<element name="pingMe">
<complexType />
</element>
<element name="pingMeResponse">
<complexType />
</element>
<element name="faultDetail" type="tns:faultDetail" />
<complexType name="faultDetail">
<sequence>
<element name="minor" type="short" />
<element name="major" type="short" />
</sequence>
</complexType>
<element name="subclassFaultDetail">
<complexType>
<complexContent>
<extension
base="tns:faultDetail">
<sequence />
</extension>
</complexContent>
</complexType>
</element>
</schema>
</wsdl:types>
<wsdl:message name="pingMeRequest">
<wsdl:part name="in" element="x1:pingMe" />
</wsdl:message>
<wsdl:message name="pingMeResponse">
<wsdl:part name="out" element="x1:pingMeResponse" />
</wsdl:message>
<wsdl:message name="pingMeFault">
<wsdl:part name="faultDetail" element="x1:faultDetail" />
</wsdl:message>
<wsdl:message name="pingMeSubclassFault">
<wsdl:part name="faultDetail" element="x1:subclassFaultDetail"
/>
</wsdl:message>
<wsdl:portType name="Greeter">
<wsdl:operation name="pingMe">
<wsdl:input name="pingMeRequest"
message="tns:pingMeRequest" />
<wsdl:output name="pingMeResponse"
message="tns:pingMeResponse" />
<wsdl:fault name="pingMeFault"
message="tns:pingMeFault" />
<wsdl:fault name="pingMeSubclassFault"
message="tns:pingMeSubclassFault" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="pingMe">
<soap:operation style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
<wsdl:fault name="pingMeFault">
<soap:fault name="pingMeFault" use="literal" />
</wsdl:fault>
<wsdl:fault name="pingMeSubclassFault">
<soap:fault name="pingMeSubclassFault"
use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SOAPService">
<wsdl:port binding="tns:Greeter_SOAPBinding" name="SoapPort">
<soap:address
location="http://localhost:9000/SoapContext/SoapPort" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--
View this message in context:
http://www.nabble.com/Generated-Faults-and-Inheritance-tp16133913p16133913.html
Sent from the cxf-user mailing list archive at Nabble.com.