Я использую бинарный выпуск Asmack (я буду его собирать, как только у меня будет время, когда у меня возникли проблемы при первой попытке). Я также настроил свой собственный сервер ejabberd.
Когда я пытаюсь загрузить какой-либо контакт VCard, сервер возвращает информацию, но Asmack, похоже, не нравится (или не может ее проанализировать).
Вот что я вижу в режиме отладки:
<iq from='user@domain' to='admin@domain/Smack' id='I17sI-4' type='result'>
<vCard xmlns='vcard-temp' prodid='-//HandGen//NONSGML vGen v1.0//EN' version='2.0'>
<FN>Full Name</FN>
<N>
<FAMILY>Surname</FAMILY>
<GIVEN>Nick</GIVEN>
</N>
<NICKNAME>Nickname</NICKNAME>
<URL>http://google.com</URL>
<ADR>
<LOCALITY>lanta</LOCALITY>
<REGION>krabi</REGION>
<PCODE>81150</PCODE>
<CTRY>thailand</CTRY>
</ADR>
<EMAIL>
<USERID>user@domain.com</USERID>
</EMAIL>
</vCard>
</iq>
Но когда я делаю
VCard card = new VCard();
card.load(xmppConn, "user@domain");
Вся информация установлена в нуль, и когда я пытаюсь посмотреть на XML, вызвав метод VCard.toXML (), я просто получил пустой XML, подобный этому
<iq id="I17sI-4" to="user@domain" type="get"><vCard xmlns='vcard-temp'/></iq>
Значит, кто-нибудь знает, что я делаю неправильно или этот двоичный выпуск не может обработать VCard, полученный от сервера?