1) Build code-first with Aegis.
2) Run java2ws from 2.1 with the Aegis databinding.
3) Use that WDSL as your starting point.

Warning: while I've worked on the code that supports all of this, I've never
looked closely at what come out of it.

On Fri, Mar 21, 2008 at 11:24 AM, Joel Turkel <[EMAIL PROTECTED]>
wrote:

>
> Is there anyway to do this using WSDL first development?
>
>
> Benson Margulies-4 wrote:
> >
> > Aegis allows you to declare a base class in the throw clause and deliver
> > specific subclasses based on the actual class thrown. All the classes in
> > question end up in the wsdl.
> >
> >
> >
> > On Fri, Mar 21, 2008 at 9:41 AM, mikem2005 <[EMAIL PROTECTED]> wrote:
> >
> >>
> >> 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.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Generated-Faults-and-Inheritance-tp16133913p16200381.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>
>

Reply via email to