Domanda

Sto usando una versione binaria di Asmack (la costruirò non appena avrò un po 'di tempo perché ho avuto problemi la prima volta che ho provato).Ho anche configurato il mio server ejabberd.

Quando provo a caricare un contatto VCard il server restituisce le informazioni ma ad Asmack non sembra piacere (o non riesce ad analizzarlo).

Questo è ciò che posso vedere in modalità debug:

<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>

Ma quando lo faccio

VCard card = new VCard();
card.load(xmppConn, "user@domain");

Tutte le informazioni sono impostate su null e quando provo a guardare l'XML chiamando il metodo VCard.toXML () ho appena ricevuto un XML vuoto come questo

<iq id="I17sI-4" to="user@domain" type="get"><vCard xmlns='vcard-temp'/></iq>

Quindi qualcuno sa cosa sto facendo di sbagliato o se questa versione binaria che non riesce ad analizzare la VCard ricevuta dal server?

È stato utile?

Soluzione

Aggiungi riga: ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp", new VCardProvider()); prima di caricare vCard.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top