Problem
standardmäßig JAX-WS baut die folgende SOAP-Fehlermeldung, wenn eine abgefangene Ausnahme, die RuntimeException
auf meinem Server auftritt erweitert:JAX-WS Federserverseitige benutzerdefinierte Nachricht für Runtime Fehler gesetzt
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<S:Fault xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>S:Server</faultcode>
<faultstring>[runtime exception message here]</faultstring>
<detail>
<ns2:exception class="java.lang.RuntimeException" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" xmlns:ns2="http://jax-ws.dev.java.net/">
<message>[runtime exception message here too]</message>
<ns2:stackTrace>
[stack trace details]
</ns2:stackTrace>
</ns2:exception>
</detail>
</S:Fault>
</S:Body>
</S:Envelope>
Welche Art Sinn machen, außer, dass ich dieses Verhalten, um das ändern möchten, anstatt zu schicken:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<S:Fault xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>S:Server</faultcode>
<faultstring>Something wrong happened and it's totally our fault</faultstring>
</S:Fault>
</S:Body>
</S:Envelope>
Beachten Sie, dass die Meldung sollte NICHT der Inhalt der RuntimeException sein, aber eine benutzerdefinierte statische Nachricht für keine Ausnahme, die RuntimeException
erstreckt, die serverseitig auftreten kann.
Ich kann die WSDL nicht ändern und ich möchte keine benutzerdefinierte Ausnahme festlegen.
ich die Feder-Plugin bin mit: com.sun.xml.ws.transport.http.servlet.WSSpringServlet
Wie kann ich das tun?
Rechts im 'exception' Tag gibt es ein Attribut' note', das besagt 'Um diese Funktion zu deaktivieren, setzen Sie die Systemeigenschaft com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace auf' false '. Hast du das versucht? Haben Sie versucht herauszufinden, ob es eine Eigenschaft gibt, die ganze Details zu deaktivieren? –
Ja, und das ist nicht wirklich das, was ich will. –
Ist das nicht ähnlich zu http://stackoverflow.com/questions/31069114/adding-detail-in-a-ws-soapfault-my-custom-exceptionresolver-is-not-used? –