Recibir xmpp (gtalk) en appengine: No handlers matched this URL

15 views
Skip to first unread message

Zorion

unread,
May 1, 2013, 12:47:40 PM5/1/13
to golang-...@googlegroups.com
Hola.
He intentado recibir en un appengine mensajes xmpp usando mi cuenta gtalk y algo hago mal. 
Cuando intento hablar por gtalk con twz...@appspot.com en el log recibo esto.

  1. 2013-05-01 18:11:50.391 /_ah/xmpp/message/chat/ 404 8ms 0kb
    0.1.0.10 - - [01/May/2013:09:11:50 -0700] "POST /_ah/xmpp/message/chat/ HTTP/1.1" 404 0 - - "twzk82.appspot.com" ms=8 cpu_ms=0 app_engine_release=1.7.7 
  2. W2013-05-01 18:11:50.391
    No handlers matched this URL.

En mi app.yaml tengo entre otras cosas:
handlers:
- url: /(|inv|snd|compile|fmt|script\.js)
  script: _go_app
inbound_services:
- xmpp_message

En mi programa tengo el siguiente handler entre otros:
func init() {
xmpp.Handle(handleIncomeChat) 
http.HandleFunc("/snd", chatHandler) 
http.HandleFunc("/inv", inviteHandler)
}
func handleIncomeChat(c appengine.Context, m *xmpp.Message) {
body := fmt.Sprint("Hey there! (", m.Body, ")")
reply := &xmpp.Message{
To:   []string{m.Sender},
Body: body,
}
if err := reply.Send(c); err != nil {
c.Errorf("Sending reply: %v", err)
}
}

Enviar desde appengine sí que funciona, mi cuenta de gtalk recibe mensajes  de twz...@appspot.com, pero no soy capaz de devolverlo y que appengine lo lea y haga algo.

¿Sabéis qué me falta?
Muchas gracias.

NOTA: También me funciona si como "Sender" pongo te...@twzk82.appspot.com. Mi gtalk recibe de esa dirección pero si le respondo appengine dice que no hay handler.
Uso gtalk desde gmail. Desde android tampoco va.

Zorion

unread,
May 4, 2013, 1:49:56 PM5/4/13
to golang-...@googlegroups.com
¿Alguno ha usado xmpp en appengine - go?
Si no es así tendré que preguntar en la lista de google-appengine-go o en go-nuts.


2013/5/1 Zorion <zor...@gmail.com>

Zorion

unread,
May 5, 2013, 3:41:26 AM5/5/13
to golang-...@googlegroups.com
Me ha respondido David Symonds y lo que me faltaba era esto:

Using xmpp.Handle is the right approach, but it looks like you have
not permitted it to receive messages. In your app.yaml you need
something like:
  - url: /_ah/xmpp/.*
    script: _go_app
    login: admin


¡Funciona!


2013/5/4 Zorion <zor...@gmail.com>
Reply all
Reply to author
Forward
0 new messages