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; |