我正在尝试在Ejabberd服务器上设置VCard,并且出现以下错误。
<iq type="error" xml:lang="en" xmlns="jabber:client" id="PLLMV88my7zc" from="XXXXXXX334@ejabber.CCCC.com" to="XXXXXXX334@ejabber.CCCC.com/CCCC.nY4z">
<vcard xmlns="vcard-temp">
<NICKNAME xmlns="vcard-temp">Ar [CCCC]</NICKNAME>
</vcard>
<error type="modify" code="400" xmlns="jabber:client">
<bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xml:lang="en" xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">Unknown tag <vcard/> qualified by namespace 'vcard-temp'
</text>
</error>
</iq>
还将vcard
命名空间更改为urn:ietf:params:xml:ns:vcard-4.0
哪个返回
<iq type="error" xml:lang="en" xmlns="jabber:client" id="vVsKxiCW2l-o" from="XXXXXXX334@ejabber.CCCC.com" to="XXXXXXX334@ejabber.CCCC.com/CCCC.nY4z">
<vcard xmlns="urn:ietf:params:xml:ns:vcard-4.0">
<NICKNAME xmlns="urn:ietf:params:xml:ns:vcard-4.0">Ar [CCCC]</NICKNAME>
</vcard>
<error type="cancel" code="503" xmlns="jabber:client">
<service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
<text xml:lang="en" xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">No module is handling this query</text>
</error>
</iq>
我的请求数据包如下所示,是从XEP 0054提取的
已发送精确数据包
<iq type="set" id="Ie9IID3Xc82E" from="XXXXXXX334@ejabber.CCCC.com/CCCC.nY4z">
<vcard xmlns="vcard-temp">
<NICKNAME>Ar [CCCCC]</NICKNAME>
</vcard>
</iq>
有人可以指出我该如何解决此问题。 服务器配置-Ejabberd [docker] 客户端-Java自定义代码。
答案 0 :(得分:0)
找出问题所在而不是vcard,我需要将该节点设置为vCard 使用的xmlns是xmlns =“ vcard-temp”
请注意,上述请求需要vcard中所有可用的元素,因为它的工作原理是替换(而不是更新)。