设置 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 <vcard/> qualified by namespace 'vcard-temp'
</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 中可用的所有元素,因为它的工作方式类似于替换而不是增量更新。
我正在尝试在我的 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
其中 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 中可用的所有元素,因为它的工作方式类似于替换而不是增量更新。