GAE端点错误:无法使用修饰符访问类的成员" private"

时间:2015-05-13 02:32:31

标签: java json api google-app-engine

我有一个GAE API端点,一直给我503错误。 API端点正常工作(处理/发布数据到数据存储区),但一旦返回对象,就会抛出此错误:

  

java.lang.IllegalStateException:无法实例化标准   串行   (oftypecom.google.appengine.repackaged.org.codehaus.jackson.map.ser.std.NullSerializer):Classcom.google.appengine.repackaged.org.codehaus.jackson.map.ser.BasicSeriaiizerFactory   无法访问班级成员   com.google.appengine.repackaged.org.codehaus.jackson.map.ser.std.NullSerializer   使用修饰符"私有"

正在返回的对象是扩展对象( FacebookUser扩展用户)。我认为它可能与访问基类私有变量有关,所以我将所有私有变量声明为protected;我仍然一直收到这个错误。

我有一个其他端点返回一个FacebookUser对象,它工作正常。我将其解释为GAE序列化无法在返回时序列化对象;返回的数据是在一个工作端点中返回的大量相同数据。 API端点正常工作,但一旦返回对象和数据,就会抛出上述错误。

非常感谢任何输入,谢谢!

1 个答案:

答案 0 :(得分:1)

所以我明白了。

我在FacebookUser类中有一个名为getToken()的函数。此函数不是私有/受保护变量的getter / setter;它是一个将传入信息处理成令牌的函数。似乎GAE Java API假定getToken是私有变量的getter / setter,称为“token”。由于没有一个名为“token”的私有变量,它抛出了我看到的错误。我在运行另一个没有调用getToken()函数的函数时为getToken()函数抛出错误时想通了。