1
私はXMPPを使用してインスタントメッセージアプリケーションで作業しています。そして、私は、ユーザーが存在するかどうかを知るために友人を追加するときにユーザーを検索したい。私はhttp://xmpp.org/extensions/xep-0055.htmlのXEP-0055を読んで、のようなiqを送った。例1.検索フィールドのリクエスト。それから私は、次のような応答を受け取った:"Username"を検索するiqを送信する方法iOSのOpenfireによって実装されたXEP-0055
<iq xmlns="jabber:client" type="result" id="search2" from="search.127.0.0.1" to="[email protected]/iPhone">
<query xmlns="jabber:iq:search">
<instructions>
The following fields are available for searching. Wildcard (*) characters are allowed as part of the query.
</instructions>
<first></first>
<last></last>
<nick></nick>
<email></email>
<x xmlns="jabber:x:data" type="form">
<title>
Advanced User Search
</title>
<instructions>
The following fields are available for searching. Wildcard (*) characters are allowed as part of the query.
</instructions>
<field var="FORM_TYPE" type="hidden">
<value>jabber:iq:search</value>
</field>
<field var="search" type="text-single" label="Search">
<required></required>
</field>
<field var="Username" type="boolean" label="Username">
<value>1</value>
</field>
<field var="Name" type="boolean" label="Name">
<value>1</value>
</field>
<field var="Email" type="boolean" label="Email">
<value>1</value>
</field>
</x>
</query>
</iq>
私は、フィールド「ユーザー名」を検索したいと私は、IQに
<iq type="set" to="search.127.0.0.1" id="search2" from="[email protected]" xml:lang="en"><query xmlns="jabber:iq:search"><Username>gq</Username></query></iq>
を送ったが、私は
<iq xmlns="jabber:client" type="error" id="search2" from="search.127.0.0.1" to="[email protected]/iPhone"><error code="400" type="modify"><bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></bad-request></error></iq>
エラーレスポンスを取得し、私はそれがiqのフォーマットに間違っていなければならないことを知っています。しかし、私は実際にどのような形式にすべきか分かりません。誰もそれを把握できますか?
あなたはhttp://stackoverflow.com/questions/26800596/xep-0055-with-ios-and-ejabberd –
をチェックしましたか?このリンクで詳しく見るにはhttps://github.com/dbsGen/XEP-0055 –