0
Я пытаюсь реализовать XEP-0055, который поддерживается ejabbed, как показано здесь, в supported xepsXEP - 0055 с iOS и ejabberd?
Это моя просьба:
XMPPIQ *iq = [[XMPPIQ alloc] init];
[iq addAttributeWithName:@"type" stringValue:@"get"];
[iq addAttributeWithName:@"from" stringValue:@"[email protected]"];
[iq addAttributeWithName:@"to" stringValue:@"company.com"];
[iq addAttributeWithName:@"id" stringValue:@"search1"];
XMPPElement *query = [XMPPElement elementWithName:@"query"];
[query setXmlns:@"jabber:iq:search"];
[iq addChild:query];
[self.xmppStream sendElement:iq];
Я получаю такой ответ:
<iq xmlns="jabber:client" from="company.com" to="[email protected]/2834146151141475281662718" type="error" id="search1">
<query xmlns="jabber:iq:search"/>
<error code="501" type="cancel">
<feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
</error>
</iq>
Почему Я получаю функцию, не реализованную? Ссылка на официальный XEP description.
Как я думал, ошибка была в атрибуте «to»! Теперь он работает, спасибо вам большое! Но где я могу найти все возможные сервисы, которые реализует ejabberd? Я имею в виду возможные значения «service» на service.company.com? – efimovdk
Вы можете получить их, отправив запрос на дискотеки (см. XEP-0030) на «главный» сервер, то есть на 'company.com'. – legoscia
Да, я делал это несколько раз, но я вижу модули erlang в ответе вроде «vcard-temp» или «carbonbons», но это модули. Должен ли я рассматривать модуль как услугу? Кроме того, я столкнулся с какой-то другой проблемой. Можете ли вы, пожалуйста, взглянуть на [link] (http://stackoverflow.com/questions/26803450/error-400-bad-request-with-xep-0055)? Я ценю вашу помощь! – efimovdk