vcard
Hello,
i am unable to set the vcard with a exodus client. It looks like the server accepts the vcard, but when i retrieve it again its empty.
I use mySql as database. Here is a log from the client.
Set vcard:
SENT: <iq id="jcl_155" type="set"><vCard xmlns="vcard-temp"><N><GIVEN>Alexander</GIVEN>
<FAMILY>Gnauck</FAMILY><MIDDLE>
</MIDDLE></N><NICKNAME>Alex</NICKNAME>
<EMAIL><INTERNET/><PREF/></EMAIL><URL>
</URL><ROLE></ROLE><BDAY></BDAY>
<TITLE></TITLE><ORG><ORGNAME></ORGNAME>
<ORGUNIT></ORGUNIT><DESC></DESC></ORG>
<ADR><HOME/></ADR><ADR><WORK/>
</ADR><TEL><HOME/><VOICE/><NUMBER>
</NUMBER></TEL><TEL><HOME/><FAX/>
<NUMBER></NUMBER></TEL><TEL><WORK/>
<VOICE/><NUMBER></NUMBER></TEL><TEL>
<WORK/><FAX/><NUMBER></NUMBER></TEL>
</vCard></iq>
RECV: <iq id="jcl_155" to="gnauck@openjabber.com/Exodus" type="result"/>
Get vcard:
SENT: <iq id="jcl_156" to="gnauck@openjabber.com" type="get"><VCARD xmlns="vcard-temp"/></iq>
RECV: <iq id="jcl_156" to="gnauck@openjabber.com" from="gnauck@openjabber.com/Exodus"
type="get"><VCARD xmlns="vcard-temp"/></iq>
Trackback URL for this post:
- Add new comment
- 1466 reads






the right send vcard xml structure:
<iq from='your jabber jid' type='set' id='jcl_155'>
<vCard xmlns='vcard-temp'/>
<N><GIVEN>Alexander</GIVEN>
<FAMILY>Gnauck</FAMILY><MIDDLE>
</MIDDLE></N><NICKNAME>Alex</NICKNAME>
<EMAIL><INTERNET/><PREF/></EMAIL><URL>
</URL><ROLE></ROLE><BDAY></BDAY>
<TITLE></TITLE><ORG><ORGNAME></ORGNAME>
<ORGUNIT></ORGUNIT><DESC></DESC></ORG>
<ADR><HOME/></ADR><ADR><WORK/>
</ADR><TEL><HOME/><VOICE/><NUMBER>
</NUMBER></TEL><TEL><HOME/><FAX/>
<NUMBER></NUMBER></TEL><TEL><WORK/>
<VOICE/><NUMBER></NUMBER></TEL><TEL>
<WORK/><FAX/><NUMBER></NUMBER></TEL>
</vCard></iq>
I didn't know about changes in vCard spec in the past. In such case I think I can adjust vCard implementation in Tigase. It is just a minor change in vCard plugin.
yes, i think this is left over from very old Jabber protocols in Exodus. The vcard stuff chnged 2 or 3 times in the past and in a very old spec is was VCARD all in capital.
So i think exodus should be fixed and Tiagase works correct.
Alex
XML is case sensitive and XEP-0054 (vCard spec) says that the element name is "vCard". I am just curious if any other XMPP server works fine with Exodus then....
And actually this is even more strange as from your logs it looks like it sets vCard using correct element name but when it tries to retrieve vCard the element name is incorrect.
Hi Artur,
the problem is how Exodus request the VCARD (all capital)
SENT: <iq id="jcl_156" to="gnauck@openjabber.com" type="get"><VCARD xmlns="vcard-temp"/></iq>
Alex
I have done some tests:
1. I use Psi.
2. I have created account on openjabber.com ;-), I hope this is OK.
3. I have copied and pasted your exact packets using Psi XML console and it all worked. Below is a log and I ended-up with my vCard set with your data correctly.
To me it looks like the server works correctly. Is it possible this is your client issue? If not I need more thorough testing. Let me play with exodus client over the weekend to see whether I can find anything.
My session log:
<FAMILY>Gnauck</FAMILY><MIDDLE>
</MIDDLE></N><NICKNAME>Alex</NICKNAME>
<EMAIL><INTERNET/><PREF/></EMAIL><URL>
</URL><ROLE></ROLE><BDAY></BDAY>
<TITLE></TITLE><ORG><ORGNAME></ORGNAME>
<ORGUNIT></ORGUNIT><DESC></DESC></ORG>
<ADR><HOME/></ADR><ADR><WORK/>
</ADR><TEL><HOME/><VOICE/><NUMBER>
</NUMBER></TEL><TEL><HOME/><FAX/>
<NUMBER></NUMBER></TEL><TEL><WORK/>
<VOICE/><NUMBER></NUMBER></TEL><TEL>
<WORK/><FAX/><NUMBER></NUMBER></TEL>
</vCard></iq>
<vCard xmlns="vcard-temp" version="2.0" prodid="-//HandGen//NONSGML vGen v1.0//EN" />
</iq>
<vCard xmlns="vcard-temp">
<N>
<GIVEN>Alexander</GIVEN>
<FAMILY>Gnauck</FAMILY>
<MIDDLE/>
</N>
<NICKNAME>Alex</NICKNAME>
<EMAIL><INTERNET/><PREF/>
</EMAIL><URL/><ROLE/><BDAY/>
<TITLE/><ORG><ORGNAME/><ORGUNIT/>
<DESC/></ORG><ADR><HOME/></ADR>
<ADR><WORK/></ADR><TEL><HOME/>
<VOICE/><NUMBER/></TEL><TEL><HOME/>
<FAX/><NUMBER/></TEL><TEL><WORK/>
<VOICE/><NUMBER/></TEL><TEL><WORK/>
<FAX/><NUMBER/></TEL></vCard></iq>