現在、XMPP 経由で XML RPC を実装しようとしています。クライアント ライブラリとして Smack を使用し、XMPP サーバーとして Vysper を使用しています。簡略化すると、私のセットアップは次のようになります。
[クライアント1] — [サーバー] — [クライアント2]
クライアント 1 からクライアント 2 のメソッドを呼び出したいと思います。[1] で説明されているように、タイプ セット、from 要素と to 要素、およびクエリ コンテンツを使用して IQ を作成します。簡単な例:
<iq type='set' from='client1@localhost' to='client2@localhost' id='1'>
<query xmlns='jabber:iq:rpc'>
<methodCall>
<methodName>foo</methodName>
</methodCall>
</query>
</iq>
問題は、client1 から IQ を送信すると、エラー IQ が返され、client2 には何も送信されないことです。問題を調査したところ、仕様で次のステートメントに出くわしました [2]。
サーバーは、名簿「セット」の「宛先」アドレスを無視する必要があり、名簿「セット」を送信者に適用するものとして扱わなければなりません。[…]
このコンスタレーションでは、2 つのクライアント間で Jabber-RPC を使用できないというのは正しいですか? それとも、Jabber-RPC について根本的な誤解がありますか?