I'm trying to do the same thing...does anyone know if hierarchical exceptions
are possible with CXF?

Thanks!
Mike




Joel Turkel wrote:
> 
> 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-tp16133913p16197927.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to