@@ -59,15 +59,17 @@ public static OpenAIResponse call(GXProcedure proc, OpenAIRequest request, boole
5959
6060 logger .debug ("Agent response: " + saiaResponse );
6161 JSONObject jsonResponse = new JSONObject (saiaResponse );
62- return new ObjectMapper ().readValue (jsonResponse .toString (), OpenAIResponse .class );
62+ OpenAIResponse aiResponse = new ObjectMapper ().readValue (jsonResponse .toString (), OpenAIResponse .class );
63+ if (!aiResponse .getSuccess ()) {
64+ setError (String .valueOf (aiResponse .getError ().getCode ()), aiResponse .getError ().getMessage (), client , result );
65+ }
66+ return aiResponse ;
6367 }
6468 else {
6569 String errorDescription = String .format ("Error calling Enterprise AI API, StatusCode: %d, ReasonLine: %s" ,
6670 client .getStatusCode (),
6771 client .getReasonLine ());
68- addResultMessage ("SAIA_ERROR_CALL" , (byte )1 , errorDescription , result );
69- logger .error (errorDescription );
70- logger .debug ("Agent error response: " + client .getString ());
72+ setError ("SAIA_ERROR_CALL" , errorDescription , client , result );
7173 }
7274 }
7375 catch (Exception e ) {
@@ -116,6 +118,12 @@ private static void getChunkedSaiaResponse(GXProcedure proc, HttpClient client,
116118 }
117119 }
118120
121+ private static void setError (String errorCode , String errorDescription , HttpClient client , CallResult result ) {
122+ addResultMessage (errorCode , (byte )1 , errorDescription , result );
123+ logger .error (errorDescription );
124+ logger .debug ("Agent error response: " + client .getString ());
125+ }
126+
119127 private static void addResultMessage (String id , byte type , String description , CallResult result ){
120128 if (type == 1 )
121129 result .setFail ();
0 commit comments