Hello,

Is there a way to have a nice error message while calling wrongly a service in thrift ?

For example, when I have objects without "required" attributes, I get the error below:

File "/home/user/something/my_service", line 129, in recv_my_service
    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
File "/home/lib/python2.7/site-packages/thrift/protocol/TBinaryProtocol.py", line 130, in readMessageBegin
    sz = self.readI32()
File "/usr/lib/python2.7/site-packages/thrift/protocol/TBinaryProtocol.py", line 210, in readI32
    buff = self.trans.readAll(4)
File "/usr/lib/python2.7/site-packages/thrift/transport/TTransport.py", line 58, in readAll
    chunk = self.read(sz - have)
File "/home/lib/python2.7/site-packages/thrift/transport/TTransport.py", line 159, in read
    self.__rbuf = StringIO(self.__trans.read(max(sz, self.__rbuf_size)))
File "/usr/lib/python2.7/site-packages/thrift/transport/TTransport.py", line 159, in read
    self.__rbuf = StringIO(self.__trans.read(max(sz, self.__rbuf_size)))
File "/usr/lib/python2.7/site-packages/thrift/transport/TSocket.py", line 118, in read
    message='TSocket read 0 bytes')
TTransportException: TSocket read 0 bytes

In my example, I have a C++ ThriftServer and a Python Client.

I'd like to have an explicit message (like: "missing object attribute : "). Is there an option to enable such message?

BR

--
Julien Greard
Software Engineer
Evitech

Reply via email to