मैं अपने बैकएंड से आने वाली त्रुटियों को संभालने की कोशिश कर रहा हूं। handleMessage()
कहा जाता है कि कोई त्रुटि होती है लेकिन सामग्री XmlMessage का एक उदाहरण है। मैं इसे अपनी प्रतिक्रिया में बदलना चाहता हूं - बस प्रतिक्रिया कोड सेट करें और कुछ संदेश जोड़ें।सीएक्सएफ इंटरसेप्टर्स से निपटने में त्रुटि - प्रतिक्रिया संदेश बदलना
मैं किसी भी उचित प्रलेखन जो मुझे बताओ कि यह करने के लिए कर सकता है नहीं मिला है ...
ये axamples बाकी के लिए कर रहे हैं, लेकिन मैं सोप में भी इस बात प्रबंधित करना चाहते हैं।
इंटरसेप्टर
public class ErrorHandlerInterceptor extends AbstractPhaseInterceptor<Message> {
public ErrorHandlerInterceptor() {
super(Phase.POST_LOGICAL);
}
@Override
public void handleMessage(Message message) throws Fault {
Response response = Response
.status(Response.Status.BAD_REQUEST)
.entity("HOW TO GET A MESSAGE FROM AN EXCEPTION IN HERE???")
.build();
message.getExchange().put(Response.class, response);
}
}
context.xml
<bean id="errorHandlerInterceptor"
class="cz.cvut.fit.wst.server.interceptor.ErrorHandlerInterceptor" />
<jaxrs:server address="/rest/">
<jaxrs:serviceBeans>
<ref bean="restService" />
</jaxrs:serviceBeans>
<jaxrs:outFaultInterceptors>
<ref bean="errorHandlerInterceptor" />
</jaxrs:outFaultInterceptors>
</jaxrs:server>
धन्यवाद। मैं आपके उत्तर को दो – user219882
@ टॉमस के बीच प्रतिष्ठा को विभाजित करने के लिए अभी तक स्वीकार नहीं करता हूं, जबकि प्रयास महान है (मुझे खुशी है कि मैंने मदद की!), दुर्भाग्यवश, [बाउंटी सिस्टम कैसे काम करता है] http://meta.stackexchange.com/questions/2786/accept-multiple-answers-or-split-bounty-among-several-users) ([विवरण] (http://meta.stackexchange.com/questions/16065/कैसे-करता-इनाम-प्रणाली काम/16067 # 16067))। मैं आपके लिए इसे सुलझाने में असहज हूं क्योंकि मेरे परिणाम में हिस्सेदारी है, लेकिन यदि आप दो उत्तरों को इसके योग्य मानते हैं तो अतिरिक्त बकाया देने का विकल्प मौजूद है। परेशानी के लिए खेद हैं; मैंने सिस्टम नहीं लिखा था। :) – MrGomez
ओह, यह बहुत बुरा है। मैंने ऐसा करने का फैसला किया: मैं mjwenk को बक्षीस देता हूं क्योंकि प्रतिष्ठा आपको उससे अधिक मदद करती है और आपके उत्तर को स्वीकार करती है क्योंकि आपके पास आरईएसटी और एसओएपी दोनों के लिंक हैं। मुझे लगता है कि यह एकमात्र उचित तरीका है (या कम से कम थोड़ा सा)। इसका उल्लेख करने के लिए धन्यवाद ... – user219882