This is caused by the fact that protorpc.protojson.ProtoJson.encode_field
is using isoformat
on native datetime.datetime
objects.
This uses microseconds instead of milliseconds (since the datetime
module in Python uses microseconds) and as a result, this fails the Java client library parser.
For a short term fix you could do one of two things:
- Stop using
DateTimeField
and just use anIntegerField
, relying on your clients to send timestamps as integers - Monkey patch
protorpc/protojson.py
to reference a subclass ofProtoJson
which behaves correctly. Essentially,isoformat()
shouldn't be used and you should use a hybrid which only has 3 places after the decimal.