कोड इग्निटर अपवाद NuSOAP वेब सेवा के लिए हैंडलिंग

मैं NuSoap लाइब्रेरी के साथ PHP-CodeIgniter का उपयोग कर वेब सेवा विकसित कर रहा हूं।

मैं अपने webservice से JSON स्ट्रिंग वापस नहीं करना चाहता।

मान लें कि मेरे पास उपयोगकर्ता पंजीकरण वेब सेवा है।

यदि उपयोगकर्ता पंजीकरण सफल होता है, तो मैं अपनी सेवा वापसी चाहता हूं:

{"code":1,"message":"Registration Success"}

अगर कोई त्रुटि है, तो मैं अपनी सेवा वापस लौटना चाहता हूं:

{"code":0,"message":"Registration Failed"}

But my problem is when an error occurred, code igniter handle its own error & showing its own error page like this: Error from code igniter

Error on client side

इसलिए मैं अपनी वेब सेवा के लिए 'पंजीकरण विफल' वापस नहीं कर सकता।

कोड इग्निटर में त्रुटि को कैसे संभालें? मेरा मतलब यह है:

try{
  $this->myModel->registerUser();
  return json_encode(array("code" => 1, "message" => 'Registration succeed'));
}
catch(Exception $e){
  return json_encode(array("code" => 0, "message" => $e->getMessage()));
}
0
जोड़ा संपादित
विचारों: 1
spr_InsertUpdateUser() फ़ंक्शन के लिए आपके SQL में एक त्रुटि प्रतीत होती है। आपको यह देखने के लिए डीबग करने का प्रयास करना चाहिए कि यह क्यों विफल रहा है। यह चौथा पैरामीटर जैसा लगता है जो अक्षर a मुद्दा है क्योंकि फ़ंक्शन में SQL एक तिथि की अपेक्षा कर रहा है
जोड़ा लेखक MonkeyZeus, स्रोत
इसे क्यों संभालें? इसे ठीक करें ताकि आप a को पास नहीं कर रहे हैं। यदि आप डीबी डिबगिंग को बंद करना चाहते हैं, जिसे मैं सार्वजनिक उत्पादन वातावरण के लिए अत्यधिक अनुशंसा करता हूं, तो config फ़ोल्डर में जाएं और db_debug सेटिंग को <�कोड के अंदर बंद करें > डेटाबेस.एफ़पी फ़ाइल । कृपया इस पोस्ट में पास्कल क्रिएट से सीआई मंच पर उत्तर देखें
जोड़ा लेखक MonkeyZeus, स्रोत
डीबी फ़ंक्शन में पास करने से पहले डेटा को सत्यापित करना और if (! Is_proper_date ($ date) {return {"code": 2, "message" जैसे विफलता का एक वर्णनात्मक त्रुटि कोड वापस करना बेहतर है: "पंजीकरण विफल: असुरक्षित दिनांक प्रारूप"};});
जोड़ा लेखक MonkeyZeus, स्रोत
मेरी माफ़ी, लेकिन मैं वर्तमान में व्यस्त हूं, आप सीआई के उत्कृष्ट के भीतर उचित त्रुटि प्रबंधन में देख सकते हैं। प्रलेखन या विचारों के लिए इस पोस्ट को देखें stackoverflow.com/questions/3776738/… । मैंने वास्तव में अपने स्वयं के आदिम पीडीओ कक्षा के साथ सीआई बढ़ाया है, इसलिए मैं कोडइग्निटर के कार्य
जोड़ा लेखक MonkeyZeus, स्रोत
हाँ, जैसा कि आपने कहा था मेरी प्रक्रिया पर एक त्रुटि हुई थी। लेकिन उस त्रुटि को कैसे संभालें और इसे मेरे कोड पर पकड़ें ताकि मैं json_encode (सरणी ("कोड" => 0, "संदेश" => $ e-> getMessage ()) वापस लौटा सकूं); ?
जोड़ा लेखक Willy Lazuardi, स्रोत
मैं त्रुटि को संभालना चाहता हूं, अगर सीआई अपने स्वयं के त्रुटि पृष्ठ का जवाब देता है तो मेरी वेब सेवा तक पहुंचा नहीं जा सकता है। मैं ऊपर स्क्रीनशॉट संलग्न करता हूँ।
जोड़ा लेखक Willy Lazuardi, स्रोत
यह एक अच्छा विचार है, लेकिन अगर मेरे डीबी कनेक्शन या डीबी विफलता या किसी अन्य अन-हैंडल अपवाद पर कोई त्रुटि है
जोड़ा लेखक Willy Lazuardi, स्रोत
जोड़ा लेखक Willy Lazuardi, स्रोत

कोई जवाब नहीं है

0