Java कॉलआउट नीति के रनटाइम की गड़बड़ी से जुड़ी समस्या हल करना

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

ExecutionError

गड़बड़ी कोड

steps.javacallout.ExecutionError

गड़बड़ी का जवाब

{
  "fault": {
    "faultstring": "Execution returned an error result",
    "detail": {
      "errorcode": "flow.execution.ExecutionReturnedFailure"
    }
  }
}

वजह

यह गड़बड़ी तब होती है, जब JavaCallout नीति को लागू करने के दौरान, Java कोड कोई अपवाद दिखाता है या null दिखाता है.

संक्रमण की जांच

  1. गड़बड़ी को कैप्चर करने और यह पता लगाने के लिए कि कौनसी JavaCallout नीति काम नहीं कर रही है, ट्रैक सेशन शुरू करें.

  2. JavaCallout की नीति और इस्तेमाल किए गए संसाधन की जांच करें. ऊपर दिए गए उदाहरण में, Javaकॉलआउट नीति hello.jar नाम के संसाधन का इस्तेमाल करती है, जैसा कि नीचे दिखाया गया है:

    <JavaCallout name="hello-java">
       <ClassName>com.apigeesample.HelloJava</ClassName>
       <ResourceURL>java://hello.jar</ResourceURL>
    </JavaCallout>
    
    
  3. सोर्स कोड में बदलाव करके, फ़्लो वैरिएबल में Java एक्सेप्शन को कैप्चर और सेव करें. इसके बारे में Java कॉलआउट में गड़बड़ियों को मैनेज करना में बताया गया है.

  4. जिस संसाधन पर असर पड़ा है उसे कंपाइल करें और अपडेट किए गए Java आर्टफ़ैक्ट से बदलें.

  5. एपीआई प्रॉक्सी को नए रिविज़न के तौर पर डिप्लॉय करें और एपीआई कॉल करें.

  6. कोई दूसरा ट्रेस सेशन शुरू करें.

  7. ध्यान दें कि JAVA_STACKTRACE वैरिएबल में स्टैक ट्रेस उपलब्ध है. स्टैक ट्रेस में, असल अपवाद और उस Java सोर्स फ़ाइल और लाइन नंबर की जानकारी होती है जहां गड़बड़ी हो रही है.

  8. Java कोड में मौजूद समस्या को ठीक करने के लिए, इस जानकारी का इस्तेमाल करें.

  9. इस उदाहरण में, JavaError.java फ़ाइल की लाइन #25 पर ArithmeticException (शून्य से भाग) की वजह से, JavaCallout नीति लागू नहीं हो सकी.

रिज़ॉल्यूशन

  1. दिए गए अपवाद के आधार पर, संबंधित Java सोर्स फ़ाइल(फ़ाइलों) में समस्या ठीक करें. a. ऊपर दिए गए उदाहरण में, समस्या का कारण अंकगणितीय गड़बड़ी (शून्य से भाग) थी. स्टैक ट्रेस में बताई गई सोर्स फ़ाइल और लाइन नंबर पर जाएं.

    b. आपको शून्य से भाग देने का विकल्प नहीं मिलता है. इसलिए, समस्या को हल करने के लिए, गड़बड़ी वाली लाइन से जुड़ा पूरा ब्लॉक हटा दें.

  2. बदली गई फ़ाइलों वाली JAR फ़ाइल को सही लेवल (एपीआई प्रॉक्सी, एनवायरमेंट या संगठन) पर बदलें, जहां यह पहले मौजूद थी.

  3. एपीआई प्रॉक्सी को नए रिविज़न के तौर पर सेव और डिप्लॉय करें.