Back Forum Reply New

Problems with custom fault code

Hi,
I want to give a custom fault code whenever exception is happen. So i am using a custom exception resolver class.Code:
public class MyExceptionResolver extends
AbstractSoapFaultDefinitionExceptionResolver {
String INVOKER_NS_URI = quot;service/quot;;

@Override
protected SoapFaultDefinition getFaultDefinition(Object endpoint,
Exception ex) {
QName messageDeliveryFaultQNameNOPREFIX = new QName(INVOKER_NS_URI,
quot;MyCustomExceptionquot;);

SoapFaultDefinition soapFaultDefinition = new SoapFaultDefinition();
soapFaultDefinition.setFaultCode(messageDeliveryFaultQNameNOPREFIX);

soapFaultDefinition.setFaultStringOrReason(ex.getMessage());
return soapFaultDefinition;

}
}
But always response message is generated as bellow.Code:
lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=quot;soap/envelope/quot;gt;  lt;SOAP-ENV:Header/gt;  lt;SOAP-ENV:Bodygt;     lt;SOAP-ENV:Faultgt;        lt;faultcode xmlns:ns0=quot;service/quot;gt;ns0:MyCustomExceptionlt;/faultcodegt;        lt;faultstring xml:lang=quot;enquot;gt;Custom Messagelt;/faultstringgt;     lt;/SOAP-ENV:Faultgt;  lt;/SOAP-ENV:Bodygt;
lt;/SOAP-ENV:Envelopegt;
Please anyone give me a help to find out what is this quot;ns0quot; and how to remove it.
Thnx


Originally Posted by slroshHi,
I want to give a custom fault code whenever exception is happen. So i am using a custom exception resolver class.Code:
public class MyExceptionResolver extends
AbstractSoapFaultDefinitionExceptionResolver {
String INVOKER_NS_URI = quot;service/quot;;

@Override
protected SoapFaultDefinition getFaultDefinition(Object endpoint,
Exception ex) {
QName messageDeliveryFaultQNameNOPREFIX = new QName(INVOKER_NS_URI,
quot;MyCustomExceptionquot;);

SoapFaultDefinition soapFaultDefinition = new SoapFaultDefinition();
soapFaultDefinition.setFaultCode(messageDeliveryFaultQNameNOPREFIX);

soapFaultDefinition.setFaultStringOrReason(ex.getMessage());
return soapFaultDefinition;

}
}
But always response message is generated as bellow.Code:
lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=quot;soap/envelope/quot;gt;  lt;SOAP-ENV:Header/gt;  lt;SOAP-ENV:Bodygt;     lt;SOAP-ENV:Faultgt;        lt;faultcode xmlns:ns0=quot;service/quot;gt;ns0:MyCustomExceptionlt;/faultcodegt;        lt;faultstring xml:lang=quot;enquot;gt;Custom Messagelt;/faultstringgt;     lt;/SOAP-ENV:Faultgt;  lt;/SOAP-ENV:Bodygt;
lt;/SOAP-ENV:Envelopegt;
Please anyone give me a help to find out what is this quot;ns0quot; and how to remove it.
Thnx

Solved the problem.

change the INVOKER_NS_URI to
Code:
quot;soap/envelope/quot;.Then it shows the correct message.

Code:
lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=quot;soap/envelope/quot;gt;  lt;SOAP-ENV:Header/gt;  lt;SOAP-ENV:Bodygt;
     lt;SOAP-ENV:Faultgt;        lt;faultcodegt;SOAP-ENV:MyCustomRuntimeExceptionlt;/faultcodegt;        lt;faultstring xml:lang=quot;enquot;gt;custom runtime exception messagelt;/faultstringgt;     lt;/SOAP-ENV:Faultgt;  lt;/SOAP-ENV:Bodygt;
lt;/SOAP-ENV:Envelopegt;
¥
Back Forum Reply New