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
