Я пытался настроить функцию аватара пользователя для работы с библиотеками OpenFire 4.2.3 и S22.Xmpp c #.Я проверил журналы OpenFire, но об ошибках не сообщалось, однако при обновлении аватара пользователя событие AvatarChanged никогда не запускается.
Сообщения, отправляемые в OpenFire:
urn:xmpp: аватар: отправленный запрос данных:
<iq from='[JID]@[XMPPServer]/[Resource]' type='set' id='12'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='urn:xmpp:avatar:data'>
<item id='n/FBVoL4P63mjt3irV5NNRZ6Tos='>
<data xmlns='urn:xmpp:avatar:data'>iVBORw0KGgoAAAANSUhE..[BASE64 IMAGE]</data>
</item>
</publish>
</pubsub>
urn: xmpp: аватар: ответ данных:
<iq type="result" id="12" from="[JID]@[XMPPServer]" to="[JID]@[XMPPServer]/[Resource]" xmlns="jabber:client" />
urn: xmpp: аватар: запрос метаданных:
<iq from='[JID]@[XMPPServer]/[Resource]' type='set' id='15'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='urn:xmpp:avatar:metadata'>
<item id='n/FBVoL4P63mjt3irV5NNRZ6Tos='>
<metadata xmlns='urn:xmpp:avatar:metadata'>
<info bytes='207561' height='57' width='64' id='n/FBVoL4P63mjt3irV5NNRZ6Tos=' type='image/png'/>
</metadata>
</item>
</publish>
</pubsub>
</iq>
urn: xmpp: avatar: ответ метаданных:
<iq type="result" id="14" from="[JID]@[XMPPServer]" to="[JID]@[XMPPServer]/[Resource]" xmlns="jabber:client" />
Я провел некоторое время отладки, читая спецификацию XMPP, и упоминалось о необходимости подписаться на получение для Аватараизменения, однако, я не уверен, как это сделать.
Моя цель заключается в том, чтобы иметь возможность настроить аватар пользователя, а затем для всех, кто входит в этот список лиц, получать обновление аватара.
Любая помощь будет принята с благодарностью.