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

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

पर क्लिक करें.

ExecutionError

गड़बड़ी कोड

steps.javacallout.ExecutionError

गड़बड़ी के जवाब का मुख्य हिस्सा

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

वजह

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

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

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

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

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

  4. समस्या वाली JAR फ़ाइल को अपडेट किए गए Java आर्टफ़ैक्ट से बदलें.

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

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

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

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

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

रिज़ॉल्यूशन

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

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

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

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