I am writing a third party application running in a server environment that needs to get notifications from Finesse server. I have written the app in Java and I am using Babbler 0.7 as the means of creating an XMPP session. I can see the finesse server (I guess I mean openfire) replying with available stream mechanisms. In this case it seems only PLAIN is supported.
<body xmlns="http://jabber.org/protocol/httpbind" xmlns:stream="http://etherx.jabber.org/streams" authid="89f6eb70" sid="89f6eb70" secure="true" requests="4" inactivity="60" polling="5" wait="60" hold="1" ack="1535782836973282" maxpause="300" ver="1.6">
My app then sends a log in request using PLAIN:
<body xmlns="http://jabber.org/protocol/httpbind" rid="1535782836973283" sid="89f6eb70">
<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">AEJUNjQ4ODkAMTIzNDU2Nzg=</auth>
but gets the following rejection:
I have checked the BASE64 encoding and it follows the \0+username+\0+password format that I would expect with the PLAIN mechanism and the account I am using is one that I can login with to the login server using Jabber. I have tried the Administration account and similarly it fails.
I have also tried "restclient" to send RESTful requests into Finesse using the same account via the http "Authorized" header, and that works. Is there an enablement stage to allow XMPP access from a third part app that I may have overlooked?