Comments 7
удобно, спасибо)
опа, как раз начал писать сервис с использованием GAE'шного xmpp, но раньше он был какой-то куцый. посмотрим, что в новой версии
Меня не смущает, никогда XMPP службу не планировал использовать для публичных сервисов. Использую исключительно для «админских» уведомлений. И опять повторюсь, если использовать публично — нет никакой защиты от преднамеренного расхода квот.
Мне кажется это нужно очень исхитриться чтобы использовать ГАЕшный xmpp для телефонии (Каким боком вообще не представляю).
Вот, кстати, насчет xmpp. Ловлю я забавный баг.
Тестирую xmpp-бота через Nimbuzz iphone app (в котором включен GTalk аккаунт). Шлю боту сообщения.
Смотрю логи, а там критическая ошибка:
/_ah/xmpp/message/chat/
java.lang.IllegalArgumentException: Must set a body
Далее цепочка стека, и там нахожу что узкое место в моем doPost запросе, на строке где я извлекаю сообщение:
Message message = xmppService.parseMessage(request);
String messageBody = message.getBody().toLowerCase();
То-есть боту сообщения идут. (пустое сообщение я не могу отправить).
Но почему-то body отсутствует.
Еще раз стек:
/_ah/xmpp/message/chat/
java.lang.IllegalArgumentException: Must set a body
at com.google.appengine.api.xmpp.MessageBuilder.build(MessageBuilder.java:54)
at com.google.appengine.api.xmpp.InboundMessageParser.parseMessage(InboundMessageParser.java:43)
at com.google.appengine.api.xmpp.XMPPServiceImpl.parseMessage(XMPPServiceImpl.java:190)
at com.oskolkov.java.texas.TexasBot.doPost(TexasBot.java:209)
и т.д.
причем на функциональность бота это никак не влияет. Он отвечает на определнные сообщения нужным образом (то-есть body пришедшего сообщения парсится получается).
Но критические ошибки в логах всё равно глаз режут.
Похоже, что это чисто nimbuzz так странно воспринимается.
Тестирую xmpp-бота через Nimbuzz iphone app (в котором включен GTalk аккаунт). Шлю боту сообщения.
Смотрю логи, а там критическая ошибка:
/_ah/xmpp/message/chat/
java.lang.IllegalArgumentException: Must set a body
Далее цепочка стека, и там нахожу что узкое место в моем doPost запросе, на строке где я извлекаю сообщение:
Message message = xmppService.parseMessage(request);
String messageBody = message.getBody().toLowerCase();
То-есть боту сообщения идут. (пустое сообщение я не могу отправить).
Но почему-то body отсутствует.
Еще раз стек:
/_ah/xmpp/message/chat/
java.lang.IllegalArgumentException: Must set a body
at com.google.appengine.api.xmpp.MessageBuilder.build(MessageBuilder.java:54)
at com.google.appengine.api.xmpp.InboundMessageParser.parseMessage(InboundMessageParser.java:43)
at com.google.appengine.api.xmpp.XMPPServiceImpl.parseMessage(XMPPServiceImpl.java:190)
at com.oskolkov.java.texas.TexasBot.doPost(TexasBot.java:209)
и т.д.
причем на функциональность бота это никак не влияет. Он отвечает на определнные сообщения нужным образом (то-есть body пришедшего сообщения парсится получается).
Но критические ошибки в логах всё равно глаз режут.
Похоже, что это чисто nimbuzz так странно воспринимается.
Sign up to leave a comment.
GAE XMPP v.2 (Java SDK). Джаббер в GAE со второго подхода