[
https://issues.apache.org/jira/browse/AXIS2-4414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12975237#action_12975237
]
Amila Chinthaka Suriarachchi commented on AXIS2-4414:
-----------------------------------------------------
Have you create the service using POJO?
In fact sending the stack trance to the client is wrong. it is a security risk.
Can you please send your wsdl file?
> When instantiating the ExceptionException class, add AxisFault to it (as
> proper reason chaining)
> ------------------------------------------------------------------------------------------------
>
> Key: AXIS2-4414
> URL: https://issues.apache.org/jira/browse/AXIS2-4414
> Project: Axis2
> Issue Type: New Feature
> Components: codegen
> Affects Versions: 1.5
> Environment: vista sun-jdk1.5
> Reporter: Ralf Hauser
>
> codegen produces the below piece of code. Unfortunately, valuable information
> such as server-side stack-trace is lost with this.
> Suggestion:
> 1) add AxisFault to the generated ExceptionException class
> 2) if an AxisFault is available add it to the ExceptionException
> <<}catch(org.apache.axis2.AxisFault f){
> org.apache.axiom.om.OMElement faultElt = f.getDetail();
> if (faultElt!=null){
> if (faultExceptionNameMap.containsKey(faultElt.getQName())){
> //make the fault by reflection
> try{
> java.lang.String exceptionClassName =
> (java.lang.String)faultExceptionClassNameMap.get(faultElt.getQName());
> java.lang.Class exceptionClass =
> java.lang.Class.forName(exceptionClassName);
> java.lang.Exception ex=
> (java.lang.Exception)
> exceptionClass.newInstance();
> //message class
> java.lang.String messageClassName =
> (java.lang.String)faultMessageMap.get(faultElt.getQName());
> java.lang.Class messageClass =
> java.lang.Class.forName(messageClassName);
> java.lang.Object messageObject =
> fromOM(faultElt,messageClass,null);
> java.lang.reflect.Method m =
> exceptionClass.getMethod("setFaultMessage",
> new java.lang.Class[]{messageClass});
> m.invoke(ex,new java.lang.Object[]{messageObject});
>
> if (ex instanceof
> com.privasphere.qualsig.quovadis.ExceptionException){
> throw
> (com.privasphere.qualsig.quovadis.ExceptionException)ex;
> }
> ...>>
> So the new piece of code would look like
> }catch(org.apache.axis2.AxisFault f){
> org.apache.axiom.om.OMElement faultElt = f.getDetail();
> if (faultElt!=null){
> if (faultExceptionNameMap.containsKey(faultElt.getQName())){
> //make the fault by reflection
> try{
> java.lang.String exceptionClassName =
> (java.lang.String)faultExceptionClassNameMap.get(faultElt.getQName());
> java.lang.Class exceptionClass =
> java.lang.Class.forName(exceptionClassName);
> java.lang.Exception ex=
> (java.lang.Exception)
> exceptionClass.newInstance();
> //message class
> java.lang.String messageClassName =
> (java.lang.String)faultMessageMap.get(faultElt.getQName());
> java.lang.Class messageClass =
> java.lang.Class.forName(messageClassName);
> java.lang.Object messageObject =
> fromOM(faultElt,messageClass,null);
> java.lang.reflect.Method m =
> exceptionClass.getMethod("setFaultMessage",
> new java.lang.Class[]{messageClass});
> m.invoke(ex,new java.lang.Object[]{messageObject});
>
> if (ex instanceof
> com.privasphere.qualsig.quovadis.ExceptionException){
> ExceptionException ee =
> (com.privasphere.qualsig.quovadis.ExceptionException)ex;
> ee.setAxisFault(f);
> throw ee;
> }
> ...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]