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

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

ExecutionError

गड़बड़ी कोड

steps.javacallout.ExecutionError

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

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

वजह

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

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

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

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

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

  4. अपडेट किए गए Java आर्टफ़ैक्ट के साथ, प्रभावित संसाधन (JAR फ़ाइल) को कंपाइल करें और बदलें.

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

  6. एक और ट्रेस सेशन शुरू करें.

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

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

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

रिज़ॉल्यूशन

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

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

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

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