I’'ve been working on a SOAP transport over Jabber. I have a client working in which I can send out packets over the server. I see them leave the client via the Smack debugger. However, I cannot get my server to receive them.
I’'ve created a SoapPacket class which encapsulates the SOAP message and a SoapIQProvider class which creates SoapPackets. I did some logging and I can see that the my IQProvider is actually creating SoapPackets, but somehow they are never registering with my Listener.
The relavent code looks like this:
XMPPConnection.DEBUG_ENABLED = true;
conn = new XMPPConnection(server);
conn.login(username, password, “Echo”);
XFirePacketListener listener = new XFirePacketListener(getXFire(), conn);
conn.addPacketListener(listener, new ToContainsFilter(“xfireTestServer”));
The packet coming across the wire to my soap server looks like this:
<env:Envelope xmlns:env=“http://schemas.xmlsoap.org/soap/envelope/”>
<m:echo xmlns:m=“urn:Echo”>
<m:in0>Yo Yo</m:in0>
</m:echo>
</env:Body>
</env:Envelope>
It shows up both in the sent packets from the client and the “raw received packets” from the server, but somehow never shows under the main “All packets” window of the debugger.
I am very new to jabber so I could have some fundamentals down wrong and this is probably a real simple error :-). If you’'re interested in seeing all of the code, it is here:
http://cvs.xfire.codehaus.org/viewrep/xfire/xfire/xfire-xmpp
Thanks!