Frage

Ich verwende eine binäre Version von Asmack (ich werde sie erstellen, sobald ich etwas Zeit habe, da ich beim ersten Versuch Probleme hatte).Ich habe auch meinen eigenen Ejabberd-Server eingerichtet.

Wenn ich versuche, eine Kontakt-VCard zu laden, gibt der Server die Informationen zurück, aber Asmack scheint sie nicht zu mögen (oder sie nicht zu analysieren).

Folgendes kann ich im Debug-Modus sehen:

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

Aber wenn ich es tue

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

Alle Informationen sind auf null gesetzt, und wenn ich versuche, das XML durch Aufrufen der VCard.toXML () -Methode zu betrachten, habe ich gerade ein leeres XML wie dieses erhalten

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

Also weiß jemand, was ich falsch mache oder ob diese Binärversion die vom Server empfangene VCard nicht analysiert?

War es hilfreich?

Lösung

Zeile hinzufügen: ProviderManager.getInstance().addIQProvider("vCard", "vcard-temp", new VCardProvider()); vor dem Laden der vCard.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top