Question

J'utilise une version binaire de Asmack (je vais la construire dès que j'avoir un certain temps que j'avais des problèmes la première fois que j'ai essayé). J'ai aussi créé mon propre serveur ejabberd.

Lorsque je tente de charger un contact Vcard le serveur renvoie l'info, mais Asmack ne semble pas comme elle (ou pas de l'analyser).

est ce que je peux voir en mode débogage:

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

Mais quand je fais

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

Toutes les informations est définie sur null, et lorsque je tente de regarder le XML en appelant la méthode VCard.toXML () Je viens de recevoir un XML vide comme ceci

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

Alors quelqu'un sait ce que je fais mal ou si cette version binaire qui ne parvient pas à analyser la carte de visite reçue du serveur?

Était-ce utile?

La solution

Ajoutez la ligne:. ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp", new VCardProvider()); avant vCard chargement

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top