2011-12-02 2 views
1

Я использую двоичный выпуск Asmack (я буду строить его, как только у меня будет время, поскольку у меня были проблемы с первым попыткой). Я также создал собственный ejabberd-сервер.Asmack not loading VCard

Когда я пытаюсь загрузить контакт VCard, сервер возвращает информацию, но Asmack, похоже, не нравится (или не может его разобрать).

Это то, что я могу видеть в режиме отладки:

<iq from='[email protected]' to='[email protected]/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>[email protected]</USERID> 
    </EMAIL> 
</vCard> 
</iq> 

Но когда я

VCard card = new VCard(); 
card.load(xmppConn, "[email protected]"); 

Вся информация устанавливается в нуль, и когда я пытаюсь посмотреть на XML с помощью вызова метода VCard.toXML() Я только что получил пустой XML как этот

<iq id="I17sI-4" to="[email protected]" type="get"><vCard xmlns='vcard-temp'/></iq> 

Так кто-нибудь знает, что я делаю неправильно, или если этот двоичный г elease, которая не может проанализировать VCard, полученную с сервера?

+1

попробовать это:. 'ProviderManager.getInstance() addIQProvider ("визитную карточку", "VCard-ТЕМП", новый VCardProvider());' должны работать на регулярной привкусом, не уверен asmack ... – Maggie

+0

Благодаря Мэгги ! Вставка этой строки, прежде чем пытаться загрузить vCard, решила проблему ;-) – momo

+0

Я напишу это как ответ, поэтому вы можете принять ее :) – Maggie

ответ

4

Добавить строку: ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp", new VCardProvider()); перед загрузкой визитной карточки.

+0

, пожалуйста, помогите мне получить vcard –

+0

@SubbaReddyPolamReddy в чем проблема? – Maggie

+0

@Maggie вы можете сказать мне, почему ' визитной карточки -визитную карточку Температура org.jivesoftware.smackx.provider.VCardProvider' не работает в smack.provider – Hunt