Я пишу чат-приложение для Android.Обнаружение службы чата Google XMPP возвращает пустой ответ
Я использую функцию сообщений о статусе общего доступа Google Talk. http://code.google.com/apis/talk/jep_extensions/shared_status.html
я должен послать эту строфу
<iq type='get' to='gmail.com'>
<query xmlns='http://jabber.org/protocol/disco#info'/>
</iq>
Моего код (с помощью привкуса API) является:
final IQ iq = new IQ() {
public String getChildElementXML() {
return "<query xmlns='http://jabber.org/protocol/disco#info'/>";
}
};
iq.setTo("gmail.com");
iq.setType(IQ.Type.GET);
Log.w("IQ", "Prepared packet " + iq.toXML());
Log.w("IQ", "Sending 1");
connection.sendPacket(iq);
Я ожидаю получить следующий пакет:
<iq xmlns='jabber:client' from='gmail.com' type='result'>
<query xmlns='http://jabber.org/protocol/disco#info'>
<identity category='server' type='im' name='Google Talk'/>
<feature var='http://jabber.org/protocol/disco#info'/>
<feature var='google:jingleinfo'/>
<feature var='google:roster'/>
<feature var='google:nosave'/>
<feature var='google:setting'/>
<feature var='google:shared-status'/>
<feature var='http://jabber.org/protocol/archive#otr'/>
<feature var='google:mail:notify'/>
<feature var='http://jabber.org/protocol/archive#save'/>
<feature var='http://jabber.org/protocol/rosterx'/>
</query>
</iq>
Мой слушатель получает пакет:
public void processPacket(Packet
//IQ iq = (IQ) packet;
Log.w("IQ", "Packet received " + packet.toXML());
}
На приеме, я получаю следующий журнал:
03-17 08:05:43.129: W/IQ(1050): Packet received <iq id="fYhYL-4" to="[email protected]/androidC2AEBEEF" from="gmail.com" type="result"></iq>
Что я делаю неправильно?
Заранее благодарен!
PacketExtensionProvider не может проанализировать ваш xml, потому что у него нет пространства имен в START_TAG – user724861
@Rahim: было бы здорово, если бы вы включили некоторый код с вашим ответом ... Для других, которые все еще искали ответ: http : //www.iteye.com/topic/901558 – TomTasche