After you send a chat message to your app, check your admin logs
online.  AppEngine will POST messages to ' /_ah/xmpp/message/chat/ ',
if you do not see any log entries for '/_ah/xmpp/message/chat/ ', then
it means you forgot to:

Add this to app.yaml:

inbound_services:
- xmpp_message

Robin

On Oct 3, 4:07 am, murray3 <ch...@murraypost.net> wrote:
> Aha! I've just noticed the messsage from server on google talk so the
> init app code is sending xmpp messages. well done Robin.
>
> Now when I go and send one back to testhogg from google talk I was
> expecting to see my message either in the logs in GAE dashboard or in
> the printed args on thehttp://testhogg.appspot.com/_ah/xmpp/message/chat
> page.
>
> I see no evidence of the message, am I looking in wrong place or have
> you any ideas.
>
> chrism
>
> On Oct 3, 12:26 am, murray3 <ch...@murraypost.net> wrote:
>
> > this is just a test of your code:
>
> >http://testhogg.appspot.com/init/default/sendhttp://testhogg.appspot....
>
> > i guess you just browse to /send and then browse to /chat which asks
> > for login
> > but prints "none"
>
> > also can't see incoming xmpp messages in logs, any ideas.
> > chrism
>
> > On Sep 27, 12:51 am, Robin B <robi...@gmail.com> wrote:
>
> > > I view the /_ah/ prefix as reserved for google apis, but nothing is
> > > stopping people from using it for their handlers too.
>
> > > Also /_ah/* does not look very nice to end users in their browser's
> > > location url.
>
> > > The idea of making an _ah app was to show this could be done without
> > > global routes.py.
>
> > > Robin
>
> > > On Sep 26, 6:32 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > Nice Robin,
> > > > why split it over two apps (init and _ah)?
>
> > > > On Sep 26, 6:17 pm, Robin B <robi...@gmail.com> wrote:
>
> > > > > how about something like this:
>
> > > > > To send:
> > > > > applications/init/controllers/default.py:
>
> > > > > def send():
> > > > >     from google.appengine.api import xmpp
> > > > >     user_address = '....@gmail.com'
> > > > >     xmpp.send_invite(user_address)
> > > > >     msg = "Someone has sent you a gift on Example.com. To 
> > > > > view:http://example.com/gifts/";
> > > > >     status_code = xmpp.send_message(user_address, msg)
> > > > >     return dict(status_code=status_code)
>
> > > > > To receive:
> > > > > applications/_ah/controllers/xmpp.py:
>
> > > > > def message():
> > > > >     if request.args[0] == 'chat' and request.method == 'POST':
> > > > >         import logging
> > > > >         message =  request.vars
> > > > >         logging.debug(str(message))
> > > > >         return message
>
> > > > > Add this to app.yaml:
>
> > > > > inbound_services:
> > > > > - xmpp_message
>
> > > > > Check your logs to see incoming XMPP messages, only works on GAE
> > > > > production servers.
>
> > > > > Robin
>
> > > > > On Sep 26, 5:47 pm, murray3 <ch...@murraypost.net> wrote:
>
> > > > > > Any chance of a basic skeleton app for this to get us started?
> > > > > > chrism
>
> > > > > > On Sep 24, 5:44 am, Robin B <robi...@gmail.com> wrote:
>
> > > > > > > If you port it to web2py, then you don't need to wrap their 
> > > > > > > handler,
> > > > > > > unless I am misunderstanding.
>
> > > > > > > All that has to built a web2py controller function that can 
> > > > > > > receive
> > > > > > > POST requests at:
>
> > > > > > > /_ah/xmpp/message/chat/
>
> > > > > > > The POST data is this:
> > > > > > >     *  from, the address of the sender of the message
> > > > > > >     * to, the address of the recipient as described by the sender 
> > > > > > > (see
> > > > > > > below)
> > > > > > >     * body, the body of the message
> > > > > > >     * stanza, the full XMPP message in its original XML form
>
> > > > > > > The IMProperty does not need to used, and it can just be a string.
>
> > > > > > > Once XMPP is enabled, Google will POST messages to web2py at 
> > > > > > > /_ah/xmpp/
> > > > > > > message/chat/.
>
> > > > > > > Google's xmpp_handlers.CommandHandler is not needed for web2py, 
> > > > > > > but
> > > > > > > some of the XML parser could be reused.
>
> > > > > > > Robin
>
> > > > > > > On Sep 23, 4:11 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > > > > > I agree. Most of what the rest of the code does should be easy 
> > > > > > > > to port
> > > > > > > > to web2py. But I need to understand how to wrap the handler so 
> > > > > > > > that I
> > > > > > > > can be called from a controller function. We could make a 
> > > > > > > > wsgi_adaptor
> > > > > > > > inside the controller but there has to be a better way.
>
> > > > > > > > On Sep 23, 3:57 pm, Robin B <robi...@gmail.com> wrote:
>
> > > > > > > > > Yes,
>
> > > > > > > > > I believe the url  ('/_ah/xmpp/message/chat/') is significant
>
> > > > > > > > > what about:
>
> > > > > > > > > app='_ah'
> > > > > > > > > controller='xmpp'
> > > > > > > > > action='message'
>
> > > > > > > > > then handle the rest as args and call other controller 
> > > > > > > > > functions?
>
> > > > > > > > > Robin
>
> > > > > > > > > On Sep 23, 2:57 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > > > > > > > > Then it should be possible to rewrite the entire example as 
> > > > > > > > > > a web2py
> > > > > > > > > > application. Is there specific significance it the URL 
> > > > > > > > > > names ('/_ah/
> > > > > > > > > > xmpp/message/chat/') used in the example? Because 
> > > > > > > > > > preserving those
> > > > > > > > > > would require roots.
>
> > > > > > > > > > Massimo
>
> > > > > > > > > > On Sep 23, 2:25 pm, Robin B <robi...@gmail.com> wrote:
>
> > > > > > > > > > > looks like a string property that validates as an instant 
> > > > > > > > > > > messaging
> > > > > > > > > > > handle.
>
> > > > > > > > > > >http://ru.ly/Nb
>
> > > > > > > > > > > class IM(object):
> > > > > > > > > > >   """An instant messaging handle. Includes both an 
> > > > > > > > > > > address and its
> > > > > > > > > > > protocol.
> > > > > > > > > > >   The protocol value is either a standard IM scheme or a 
> > > > > > > > > > > URL
> > > > > > > > > > > identifying the
> > > > > > > > > > >   IM network for the protocol. Possible values include:
>
> > > > > > > > > > >     Value                           Description
> > > > > > > > > > >     sip                             SIP/SIMPLE
> > > > > > > > > > >     unknown                         Unknown or unspecified
> > > > > > > > > > >     xmpp                            XMPP/Jabber
> > > > > > > > > > >    http://aim.com/               AIM
> > > > > > > > > > >    http://icq.com/               ICQ
> > > > > > > > > > >    http://talk.google.com/       Google Talk
> > > > > > > > > > >    http://messenger.msn.com/     MSN Messenger
> > > > > > > > > > >    http://messenger.yahoo.com/   Yahoo Messenger
> > > > > > > > > > >    http://sametime.com/          Lotus Sametime
> > > > > > > > > > >    http://gadu-gadu.pl/          Gadu-Gadu
>
> > > > > > > > > > >   This is the gd:im element. In XML output, the address 
> > > > > > > > > > > and protocol
> > > > > > > > > > > are
> > > > > > > > > > >   provided as the address and protocol attributes, 
> > > > > > > > > > > respectively. See:
> > > > > > > > > > >  http://code.google.com/apis/gdata/common-elements.html#gdIm
>
> > > > > > > > > > >   Serializes to '<protocol> <address>'. Raises 
> > > > > > > > > > > BadValueError if tag is
> > > > > > > > > > > not a
> > > > > > > > > > >   standard IM scheme or a URL.
> > > > > > > > > > >   """
>
> > > > > > > > > > > Robin
>
> > > > > > > > > > > On Sep 23, 8:01 am, mdipierro <mdipie...@cs.depaul.edu> 
> > > > > > > > > > > wrote:
>
> > > > > > > > > > > > What's a IM field?
>
> > > > > > > > > > > > On Sep 22, 10:13 pm, Robin B <robi...@gmail.com> wrote:
>
> > > > > > > > > > > > > You can edit app.yaml to dispatch requests to those 
> > > > > > > > > > > > > xmpp handlers
> > > > > > > > > > > > > based on prefix (/_ah/*), and let web2py handle 
> > > > > > > > > > > > > everything that's left
> > > > > > > > > > > > > (/*)
>
> > > > > > > > > > > > > Or you can rewrite those handlers as web2py 
> > > > > > > > > > > > > controller/functions and
> > > > > > > > > > > > > use routes.py to map the specific urls to 
> > > > > > > > > > > > > app/controller/function
>
> > > > > > > > > > > > > Robin
>
> > > > > > > > > > > > > On Sep 22, 5:44 pm, murray3 <ch...@murraypost.net> 
> > > > > > > > > > > > > wrote:
>
> > > > > > > > > > > > > > I am interested in the way we can convert GAE 
> > > > > > > > > > > > > > sample web apps to
> > > > > > > > > > > > > > web2py, in particular the xmpp tutorial 
> > > > > > > > > > > > > > :http://code.google.com/appengine/articles/using_xmpp.html
>
> > > > > > > > > > > > > > Seems straight forward to import the modules etc.
>
> > > > > > > > > > > > > > How should the following be ported to web2py to 
> > > > > > > > > > > > > > handle the xmpp stuff?
> > > > > > > > > > > > > > def main():
> > > > > > > > > > > > > >   app = webapp.WSGIApplication([
> > > > > > > > > > > > > >       ('/', LatestHandler),
> > > > > > > > > > > > > >       ('/_ah/xmpp/message/chat/', XmppHandler),
> > > > > > > > > > > > > >       ], debug=True)
> > > > > > > > > > > > > >   wsgiref.handlers.CGIHandler().run(app)
>
> > > > > > > > > > > > > > the tutorial states the following:
>
> > > > > > > > > > > > > > " There's one last thing we need to do to get this 
> > > > > > > > > > > > > > all working, of
> > > > > > > > > > > > > > course - hook it up to the serving infrastructure 
> > > > > > > > > > > > > > so it can serve
> > > > > > > > > > > > > > requests. Fortunately, a CommandHandler is a 
> > > > > > > > > > > > > > standard webapp
> > > > > > > > > > > > > > RequestHandler subclass, so we can set it up as we 
> > > > > > > > > > > > > > would any other
> > > > > > > > > > > > > > handler. Modify the lines where the application 
> > > > > > > > > > > > > > variable is defined to
> > > > > > > > > > > > > > read like this:
>
> > > > > > > > > > > > > > application = webapp.WSGIApplication([
> > > > > > > > > > > > > >     ('/_ah/xmpp/message/chat/', XmppHandler)], 
> > > > > > > > > > > > > > debug=True)
>
> > > > > > > > > > > > > > The URL path here - /_ah/xmpp/message/chat - is a 
> > > > > > > > > > > > > > 'reserved' one that
> > > > > > > > > > > > > > all XMPP messages get sent to. "
>
> > > > > > > > > > > > > > any pointers to get me started.
> > > > > > > > > > > > > > regards
> > > > > > > > > > > > > > chrism
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to 
web2py+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to