私は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]");
を行うと、すべての情報がnullに設定され、私はでXMLを見しようとするとされVCard.toXML()メソッドを呼び出して、私はちょうどこの
<iq id="I17sI-4" to="[email protected]" type="get"><vCard xmlns='vcard-temp'/></iq>
のような空のXMLだから誰もが私が間違っている場合や、やっていることを知っているだ、このバイナリRサーバーから受信したVCardを解析できないelease?
これを試してみてください。 'ProviderManager.getInstance()addIQProvider( "vCardの"、 "vCardの-TEMP"、新VCardProvider());' がasmackわからない、定期的にピシャリために働く必要があります... – Maggie
おかげマギー。 ! vCardをロードしようとする前にその行を挿入すると問題が解決しました;-) – momo
私は答えとして書くので、それを受け入れることができます:) – Maggie