|Think about Loose Coupling|
Problems with POE::Component::Jabber and DJabberdby cLive ;-) (Parson)
|on Oct 16, 2007 at 21:09 UTC||Need Help??|
cLive ;-) has asked for the
wisdom of the Perl Monks concerning the following question:
I have a POE::Component::Jabber client that worked well when connecting to an Openfire server. I'm now trying to connect it to a DJabberd server (both with and without SSL enabled on DJabberd), but it is failing with:Non-compliant server implementation! SASL negotiation not initiated.
I can connect fine to DJabberd using Psi.
The communication from PCJ (bold) and responses from DJabberd are as follows:<?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' to='myserver.com' version='1.0'>
<?xml version='1.0'?><stream:stream xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' to='myserver.com' version='1.0'>
Here's the PCJ constructor:
And here's the DJabberd one:
It looks weird that PCJ repeats the stream stanzas, but I'm not sure if that's the issue here. Has anybody got a clue what I'm missing here? It's driving me a little crazy right now. I think I need a nap. Maybe that will help...
Edit - I've just looked at the XML log in Psi, and it appears to use a get iq to trigger authentication, whereas the PCJ one doesn't send the IQ, but does receive a features stream from DJabberd that Psi doesn't appear to get. Weird.
Edit 2 - I missed the last stanza from the server before die earlier. Oops.