Mam połączenie Thrift między pilotemserwer i serwis internetowy. Interfejs oszczędnościowy jest kompilowany przy użyciu kompilatora 0,9.0. Kiedy wykonuję oszczędne połączenia z serwerem zdalnym, jest on pomyślnie wykonywany w zdalnym, ale po stronie klienta - widzę następujący błąd:
org.apache.thrift.TApplicationException: PredictScoresNoPersist nie powiodło się: nieznany wynik
Sprawdziłem sieć i sprawdziłem wszystkie wspomniane rozwiązania - takie jak niedopasowanie w słoikach oszczędnościowych itd. Nie ma jeszcze szczęścia. Proszę pomóż.
Tylko trochę tła, jest to jeden wątek klienta REST.
Odpowiedzi:
9 dla odpowiedzi № 1Wyjątek jest wyraźnie rzucany na klienta, dlatego odpowiedź na komunikat wydaje się poprawnie transportowana:
public Map<String,Double> recv_PredictScoresNoPersist() throws org.apache.thrift.TException
{
PredictScoresNoPersist_result result = new PredictScoresNoPersist_result();
receiveBase(result, "PredictScoresNoPersist");
if (result.isSetSuccess()) {
return result.success;
}
throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "PredictScoresNoPersist failed: unknown result");
}
Widzę tylko dwa możliwe powody:
- serwer zgłasza (nieprzechwycony) wyjątek
- próbujesz zwrócić a
null
wynik, który jest niezgodny z Thrift.