I had this application working using the active robot api, I am using
the java client library. I get a report that its not working as
intended.

I checked the dashboard only to find this exception:

/_wave/robot/jsonrpc
java.lang.IllegalArgumentException: No consumer key is found for the
RPC server URL:
        at
com.google.wave.api.AbstractRobot.deserializeEvents(AbstractRobot.java:
742)
        at com.google.wave.api.AbstractRobot.processRpc(AbstractRobot.java:
577)
        at com.google.wave.api.AbstractRobot.doPost(AbstractRobot.java:317)

I went through the oauth registration process again just to get the
same old consumer key and secret.

I updated to the latest api libraries (v2-20101119) problem still
persisted.
I looked into the source code and the only way this could happen is if
the event bundle rpc server url was different from the one I used
 Preview: "http://www-opensocial.googleusercontent.com/api/rpc";

At this point I realize that bundle.getRpcServerUrl() returns an empty
string.

I trace around some more and found that this check could be bypassed
by setting setAllowUnsignedRequests(true);

after which I got a very weird exception on the dashboard:

/_wave/robot/jsonrpc
com.google.gson.JsonParseException: Failed parsing JSON source:
java.io.stringrea...@57dc15 to Json
        at com.google.gson.JsonParser.parse(JsonParser.java:57)
        at com.google.gson.Gson.fromJson(Gson.java:443)
        at com.google.gson.Gson.fromJson(Gson.java:396)
        at com.google.gson.Gson.fromJson(Gson.java:372)
        at com.google.wave.api.WaveService.makeRpc(WaveService.java:752)
        at com.google.wave.api.WaveService.submit(WaveService.java:446)

At this point I comment out all my robot's code and turn it into a
hello world robot

       @Override
        @Capability(contexts={Context.ALL})
        public void onWaveletParticipantsChanged(
                        WaveletParticipantsChangedEvent event) {
                for (String newParticipant : event.getParticipantsAdded()) {
                        if (!newParticipant.equals(ROBOT_ID)) {
                                event.getWavelet().reply("\nHi : " + 
newParticipant);
                                try {
                                        submit(event.getWavelet(), 
WaveService.RPC_URL);
                                } catch (IOException e) {
                                        ExceptionHelper.log(log, "couldn't 
reply", e);
                                }
                        }
                }
        }

I'd still get the same exception.

Another look in the log and I find this:

com.google.wave.api.WaveService makeRpc: Response returned:
<HTML><HEAD><TITLE>OAuth Authentication FailureOAuth Authentication
Failure</TITLE></HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"><H1>OAuth
Authentication FailureOAuth Authentication Failure</H1><H2>Error 401</
H2></BODY></HTML>

Any advice on how to resolve/workaround this?

-- 
You received this message because you are subscribed to the Google Groups 
"Google Wave API" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-wave-api?hl=en.

Reply via email to