I'm using the document model, however I believe that the following should
work...

The exception classes will be created automatically if you use the WSDL2Java
utility. All you will have to do is to throw the exceptions and the fault
elements will be serialized and sent. WDSL2Java is documented in the Axis
user guide and reference.

Regards,
Paul

-----Original Message-----
From: Cory Wilkerson [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 06, 2003 2:11 PM
To: [EMAIL PROTECTED]
Subject: RPC & Faults


Good afternoon,

According to the WSDL specification, faults are defined as follows for a
request/response operation:

-------------------------------------
<wsdl:definitions .... >
    <wsdl:portType .... > *
        <wsdl:operation name="nmtoken" parameterOrder="nmtokens">
           <wsdl:output name="nmtoken"? message="qname"/>
           <wsdl:input name="nmtoken"? message="qname"/>
           <wsdl:fault name="nmtoken" message="qname"/>*
        </wsdl:operation>
    </wsdl:portType >
</wsdl:definitions>
-------------------------------------

So, I'm assuming that I can specify my own type of fault and feed it to the
wsdl:fault element, ie:

-------------------------------------
<complexType name="corysfault">
        <sequence>
                <element name="someInfo" type="xsd:string"/>
                <element name="moreInfo" type="xsd:string"/>
        </sequence>
</complexType>
-------------------------------------

My question is this -- where do I need to start in order to pull this off
via an rpc/encoded service where Axis is handling all the
marshalling/unmarshalling of soap encoded messages into java types?  Is
there a facility to return an unchecked Axis exception that's constructed
according the schema I've defined above?  I'm imagining some sort of object
that I pass to some Axis utility to throw an exception perhaps?

-------------------------------------
CorysFault {
        private String someInfo;
        private String moreInfo;

        public CorysFault() {
        }
        
        public get/set someInfo
        public get/set moreInfo
}
-------------------------------------

Seems like this would be quite easy to pull off if I was using the message
provider, but alas, I'm not.

Thanks in advance for any input,
Cory

Reply via email to