I want to send add rosteritem from remote server to roster of client of local server. I send this add request by a new IQ command added by me in server. So what code I write to send add rosteritem from another server.
I tried by this
org.xmpp.packet.Roster packet = new org.xmpp.packet.Roster(IQ.Type.set);
packet.setFrom(server.createJID(username, null));
packet.addItem(friendJid,org.xmpp.packet.Roster.Subscription.to);
server.getPacketDeliverer().deliver(packet);
But I am getting following exception when this block of code executed:
2008.06.30 12:00:08 org.jivesoftware.openfire.net.SocketPacketWriteHandler.process(SocketPacketWrite Handler.java:63) Could not deliver packet
<iq type=“set” id=“868-23” from="manjul@192.168.1.4">
<query xmlns=“jabber:iq:roster”>
<item jid="mahesh@192.168.1.7" subscription=“to”/>
</query>
</iq>
org.jivesoftware.openfire.PacketException: Cannot route packet of type IQ or Presence to bare JID:
<iq type=“set” id=“868-23” from="manjul@192.168.1.4">
<query xmlns=“jabber:iq:roster”>
<item jid="mahesh@192.168.1.7" subscription=“to”/>
</query>
</iq>
at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.jav a:216)
at org.jivesoftware.openfire.net.SocketPacketWriteHandler.process(SocketPacketWrit eHandler.java:49)
at org.jivesoftware.openfire.spi.PacketDelivererImpl.deliver(PacketDelivererImpl.j ava:48)
at frenzo.messenger.ImportFriendsFromFrenzo.importUserFromFrenzo(ImportFriendsFrom Frenzo.java:68)
at frenzo.messenger.IQImportFriendFromFrenzo.handleIQ(IQImportFriendFromFrenzo.jav a:35)
at org.jivesoftware.openfire.handler.IQHandler.process(IQHandler.java:49)
at org.jivesoftware.openfire.IQRouter.handle(IQRouter.java:349)
at org.jivesoftware.openfire.IQRouter.route(IQRouter.java:101)
at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:68)
at org.jivesoftware.openfire.net.StanzaHandler.processIQ(StanzaHandler.java:299)
at org.jivesoftware.openfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:86)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:264)
at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:163)
at org.jivesoftware.openfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:133)
at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:570)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.common.IoFilterAdapter.messageReceived(IoFilterAdapter.java:80)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:58)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:180)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.common.IoFilterAdapter.messageReceived(IoFilterAdapter.java:80)
at org.jivesoftware.openfire.plugin.RawPrintFilter.messageReceived(RawPrintFilter. java:48)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Thread.java:595)