Thanks Ali for your comments.
But in my case I do not use WSDL and code generation for stubs and skeletons. 
I wrote my service "by hand". All works fine except the ErrorHandling I have to 
configure.

Any other suggestions concerning the UserException and AxisFault issue depicted 
below??

Bille

> -----Ursprüngliche Nachricht-----
> Von: [email protected]
> Gesendet: 01.06.06 23:46:06
> An: [email protected]
> Betreff: Re: [axis2] problem with Userexception and AxisFault


> Hi Billie,
> 
> If I do not get wrong, you did not define a fault for your operation in
> WSDL and also did not generate the service skeleton from the WSDL by
> using WSDL2Java.
> 
> For my application, I generate the code from WSDL and the generator
> adds exception inner class in stub and skeleton successfully.
> 
> You may find excerpt from my codes below.
> 
> Hope this helps.
> 
> Ali Sadik Kumlali
> 
> 
> 
> -------------------------------------------------
> XSD
> -------------------------------------------------
> ...
> <xs:element name="BusinessException" type="tns:BusinessExceptionType"
> />
> <xs:complexType name="BusinessExceptionType">
>   <xs:sequence>
>     <xs:element name="errorCode" type="tns:ErrorCodeType" />
>     <xs:element name="errorMessage" type="tns:DescriptionType" />
>     <xs:element name="stackTrace" type="tns:LongDescriptionType"
> minOccurs="0" />
>   </xs:sequence>
> </xs:complexType>
> ...
> 
> 
> -------------------------------------------------
> WSDL
> -------------------------------------------------
>   ...
>   <message name="BusinessExceptionSoapFault">
>     <part name="parameters" element="t:BusinessException" />
>   </message>
>   ...
>   <portType name="AccountServicesPortType">
>     <operation name="OpenAccount">
>       <input message="tns:OpenAccountSoapIn" />
>       <output message="tns:OpenAccountSoapOut" />
>       <fault name="BusinessException"
>           message="tns:BusinessExceptionSoapFault" />
>     </operation>
>   ...
> 
> 
> -------------------------------------------------
> Skeleton (auto-generated and manually customized)
> -------------------------------------------------
> // Not auto-generated. I added this to the skeleton file.
> protected BusinessExceptionSoapFaultException createBusinessException
> (MyAppException e) {
>   BusinessExceptionDocument doc = BusinessExceptionDocument.Factory
>                               .newInstance();
>   BusinessExceptionType type = BusinessExceptionType.Factory
>                               .newInstance();
>   type.setErrorCode(e.getCode());
>   type.setErrorMessage(e.getSimpleMessage());
>   type.setStackTrace(Tools.stackTraceToString(e));
>   doc.setBusinessException(type);
> 
>   BusinessExceptionSoapFaultException ex = new
> BusinessExceptionSoapFaultException();
>   ex.setFaultMessage(doc);
>   return ex;
> }
> 
> // Auto generated signature. I filled inside.
> public acme.schemas.account.OpenAccountResponseDocument OpenAccount(
>                               acme.account.OpenAccountDocument param4)
> throws
> acme.definitions.account.AccountServicesSkeleton.BusinessExceptionSoapFaultException
> {
>   try {
>      // make call to the backend application
>   } catch (MyAppException e) {
>     throw createBusinessException (e);
>   }
> }
> 
> // Auto generated. I did nothing here.
> public static class BusinessExceptionSoapFaultException extends
>   java.rmi.RemoteException {
>   private acme.schemas.types.BusinessExceptionDocument faultMessage;
>   public void
> setFaultMessage(acme.schemas.types.BusinessExceptionDocument msg){
>     faultMessage = msg;
>   }
>   public acme.schemas.types.BusinessExceptionDocument getFaultMessage()
> {
>     return faultMessage;
>   }
> }
> 
> 
> -------------------------------------------------
> In-out message receiver (auto-generated)
> -------------------------------------------------
> ...
> 
> public void invokeBusinessLogic(org.apache.axis2.context.MessageContext
> msgContext, org.apache.axis2.context.MessageContext newMsgContext)
>         throws org.apache.axis2.AxisFault {
>   try {
>     ...
>   } catch
> (acme.definitions.account.AccountServicesSkeleton.BusinessExceptionSoapFaultException
> e) {
>     org.apache.axis2.AxisFault f =
>                     new
> org.apache.axis2.AxisFault("BusinessExceptionSoapFaultException");
>     f.setDetail(toOM(e.getFaultMessage(),false));
>     throw f;
>   } catch (Exception e) {
>     throw org.apache.axis2.AxisFault.makeFault(e);
>   }
> }
> 
> 
> -------------------------------------------------
> Stub (auto-generated)
> -------------------------------------------------
> ...
> // Auto generated. I did nothing here. Please note that
> // this exception inner class also reside in skeleton.
> public static class BusinessExceptionSoapFaultException extends
>   java.rmi.RemoteException {
>   private acme.schemas.types.BusinessExceptionDocument faultMessage;
>   public void
> setFaultMessage(acme.schemas.types.BusinessExceptionDocument msg){
>     faultMessage = msg;
>   }
>   public acme.schemas.types.BusinessExceptionDocument getFaultMessage()
> {
>     return faultMessage;
>   }
> }
> 
> 
> -------------------------------------------------
> Client test code (auto-generated and manually customized)
> -------------------------------------------------
> public void testOpenAccount() throws java.lang.Exception {
>   try {
>     // make call to the service by using the stub.
>     ...
>   } catch
> (acme.definitions.account.AccountServicesStub.BusinessExceptionSoapFaultException)
> {
>    // Auto-generated stub code also includes 
>    ...
>   } 
> }
> 
> 
> --- [EMAIL PROTECTED] wrote:
> 
> > Hi Ali Sadik Kumlali,
> > 
> > I use Axis2 1.0, too.
> > Do you have any Sample? Did you find any missing thing in my source
> > at first glance ?
> > 
> > Thanks for your help
> > 
> > Bille
> > 
> > > -----Ursprᅵngliche Nachricht-----
> > > Von: [email protected]
> > > Gesendet: 01.06.06 16:00:14
> > > An: [email protected]
> > > Betreff: Re: [axis2] problem with Userexception and AxisFault
> > 
> > 
> > > Hi Bille,
> > > 
> > > Which Axis2 version do you use? I don't have any problems with 1.0
> > when
> > > using custom exceptions.
> > > 
> > > Regards,
> > > 
> > > Ali Sadik Kumlali
> > > 
> > > --- [EMAIL PROTECTED] wrote:
> > > 
> > > > Hi to the list,
> > > > 
> > > > I have a service implementation which throws an UserException
> > > > (MyException extends RemoteException).
> > > > All works fine, but in the response I could not find my
> > individual
> > > > message and details. It just looks like this:
> > > > 
> > > > <soapenv:Fault>
> > > >                   <faultcode>soapenv:Client</faultcode>
> > > >                   <faultstring>unknown</faultstring>
> > > >                   <detail>
> > > >                     <Exception>
> > > >                        org.apache.axis2.AxisFault
> > > >                        at
> > > >
> > >
> >
> org.apache.axis2.receivers.RawXMLINOutMessageReceiver.invokeBusinessLogic(RawXMLINOutMessageReceiver.java:102)
> > > >                        at
> > > >
> > >
> >
> org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:37)
> > > >                        at
> > > > org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:454)
> > > >                        at
> > > >
> > >
> >
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:284)
> > > >                        at
> > > >
> > >
> >
> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:136)
> > > >  at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> > > >                        at
> > > > javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > > >                        at
> > > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
> > > >                        at
> > > >
> > >
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
> > > >                        at
> > > >
> > >
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
> > > >                        at
> > > >
> > >
> >
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
> > > >                        ....
> > > >                     </Exception>
> > > >                   </detail>
> > > > </soapenv:Fault>
> > > >                  ....
> > > > 
> > > > I debugged the service, and in class
> > > > RawXMLINOutMessageReceiver::invokeBusinessLogic() my
> > service-method
> > > > is called and throws the exception. The exception is of type
> > > > InvocationTargetException and has as a member variable called
> > > > "target" my userdefined excpetion, with all the details and
> > messages
> > > > I defined.
> > > > invokeBusinessLogic() catches this exception and throws an
> > AxisFault
> > > > using my userException, like this:
> > > > throw new AxisFault(e.getMessage());
> > > > The message member of the InvocationTargetException is null !! so
> > all
> > > > my user definitions are gone.
> > > > 
> > > > Could someone please shed some light on this. Is there any other
> > > > setting I missed.
> > > > I nearly grow insane with that.
> > > > 
> > > > By the way, the strange thing is that the faultCode says
> > > > soapenv:Client !!!
> > > > 
> > > > Thanks a lot for any hints.
> > > > I was not able to find any tutorial or HowTo on ErrorHandling in
> > > > Axis...?!
> > > > 
> > > > Bille
> > > > ______________________________________________________________
> > > > Verschicken Sie romantische, coole und witzige Bilder per SMS!
> > > > Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
> > > > 
> > > > 
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > > 
> > > > 
> > > 
> > > 
> > > __________________________________________________
> > > Do You Yahoo!?
> > > Tired of spam?  Yahoo! Mail has the best spam protection around 
> > > http://mail.yahoo.com 
> > > 
> > >
> > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > 
> > 
> > 
> >
> ______________________________________________________________________
> > XXL-Speicher, PC-Virenschutz, Spartarife & mehr: Nur im WEB.DE Club!        
> > 
> > Jetzt gratis testen!
> > http://freemail.web.de/home/landingpad/?mc=021130
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to