Note that there are some explanatory texts on larger screens.

plurals
  1. PORest Webservices Exception return stack trace
    primarykey
    data
    text
    <p>We have rest webservices using spring and cxf. When a checked exception is thrown we get the correct localized exception via soap ui.</p> <p>But when a unchecked runtime exception is thrown we simply get a stack trace stating the webservice could not loaded. </p> <pre><code>@XmlType @XmlAccessorType(XmlAccessType.FIELD) @XmlRootElement public class WebServiceExceptionWrapper extends Exception { /** Type (class name). */ private String type; /** Message. */ private String message; /** Stack trace. */ private StackTraceElement[] stackTrace; /** Cause. */ private Throwable cause; /** The localized message. */ private String localeErrorCode; /** * Construct a wrapper around an exception. * * @param e exception */ public WebServiceExceptionWrapper(final Exception e) { this.type = e.getClass().getName(); this.message = StringEscapeUtils.escapeHtml(e.getLocalizedMessage()); this.stackTrace = e.getStackTrace(); this.cause = e.getCause(); if(e instanceof DetailedException) { this.localeErrorCode = StringEscapeUtils.escapeHtml(((DetailedException) e).getLocaleErrorCode()); } } /** * Gets the type. * * @return the type */ @XmlElement(nillable = true) public String getType() { return this.type; } /** * Sets the type. * * @param type the type to set */ public void setType(final String type) { this.type = type; } /** * Gets the message. * * @return the message */ @XmlElement(nillable = true) public String getMessage() { return this.message; } /** * Sets the message. * * @param message the message to set */ public void setMessage(final String message) { this.message = message; } /** * Gets the stackTrace. * * @return the stackTrace */ @XmlElement(nillable = true) public StackTraceElement[] getStackTrace() { return this.stackTrace; } /** * Sets the stackTrace. * * @param stackTrace the stackTrace to set */ public void setStackTrace(final StackTraceElement[] stackTrace) { this.stackTrace = stackTrace; } /** * Gets the cause. * * @return the cause */ @XmlElement(nillable = true) public Throwable getCause() { return this.cause; } /** * Sets the cause. * * @param cause the cause to set */ public void setCause(final Throwable cause) { this.cause = cause; } /** * @return the localeErrorCode */ @XmlElement(nillable = true) public String getLocaleErrorCode() { return this.localeErrorCode; } /** * @param localeErrorCode the localeErrorCode to set */ public void setLocaleErrorCode(final String localeErrorCode) { this.localeErrorCode = localeErrorCode; } </code></pre> <p>How I do prevent a stack trace from being returned. I just want a response code and a reponse message.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload