The error occurs when I called:
Collection<SMSThread> treads = voice.getSMSThreads();
The error message is as follows (it is weird because the error message
is different from what I posted yesterday):
Caused by: java.lang.NullPointerException
at
com.techventus.server.voice.util.SMSParser.buildSMSThreadMap(SMSParser.java:
196)
at
com.techventus.server.voice.util.SMSParser.getSMSThreads(SMSParser.java:
100)
at com.techventus.server.voice.Voice.getSMSThreads(Voice.java:688)
at
miblab.sicklecellmanager.server.logicManagers.GoogleServiceManagers.VoiceManager.performMessageChecking(VoiceManager.java:
55)
at
miblab.sicklecellmanager.server.RPCServiceImpl.performPendingMessageCheck(RPCServiceImpl.java:
135)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:
104)
at
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
569)
Now, instead I read SMS directly from the JSON response. And it works
now, but I can read only the latest SMS in each tread. Here is the
code I wrote:
//After Voice setup
String unReadSMSXML = voice.getUnreadSMS();
jsonString = parseXML(unReadSMSXML);
JSONObject json = new JSONObject(jsonString);
JSONObject smsObjects = json.getJSONObject("messages");
if(smsObjects.length() != 0){
Date now = ServerTimeManipulator.getCurrentTime();
ArrayList<String> keys = getKeys(jsonString); //the code I wrote
that gets only key for each SMS
readMessages = keys.size();
for(int i=0; i< keys.size(); i++){
String currentKey = keys.get(i);
JSONObject oneMessageJsonObject = (JSONObject)
smsObjects.get(currentKey);
boolean read = (Boolean) oneMessageJsonObject.get("isRead");
if(!read){
String phoneNumber = (String)
oneMessageJsonObject.get("phoneNumber");
String messageText = (String)
oneMessageJsonObject.get("messageText");
//Process message
}
}
}
On Mar 19, 4:49 pm, Joseph Malone <
malone.jos...@gmail.com> wrote:
>
http://code.google.com/p/google-voice-java/issues/detail?id=33&thanks...