设置 EjabberD XMPP VCard 昵称

Setting EjabberD XMPP VCard nickname

我正在尝试在我的 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 &lt;vcard/&gt; qualified by namespace &apos;vcard-temp&apos;
       </text>
    </error>
</iq>

还将 vcard 命名空间更改为 urn:ietf:params:xml:ns:vcard-4.0 其中 returns

<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 自定义代码。

找出问题所在而不是 vcard 我需要节点成为 vCard 要使用的 xmlns 是 xmlns="vcard-temp"

请注意,上述请求需要 vcard 中可用的所有元素,因为它的工作方式类似于替换而不是增量更新。