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.
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?
I have only just been able to get to the logs but I think I see what is going on now. The “not-authorized” return I keep getting isn’t strictly true. If I use BTTest1 as the user to login to the finesse notification server I get a genuine unauthorized response back. It seems that BTTest1 is not recognized by finesse notification server.
2016.06.2110:28:36<<"HTTP/1.1 404 Not Found[\r][\n]"
However as this “GET” activity is still part of the login process (not anything directly driven by my client) what is actually returned to my client is “Not-authorized” again. The reason for the failure is that it is looking for “/finesse/api/User/administrator” which does not exist. It looks like I need an account which is recognized by the finesse notification server like the administrator but which is also a Cisco agent. Is that a correct interpretation of these results? I hope you can help.
Thus is the full authorization part of the log using the administrator account:
Sorry for the late reply. Your post has been moved from the general developer forum to the Finesse forum. For faster response, please post your Finesse questions directly to the Finesse forum in the future.
Each user/agent should be logging in via XMPP, so when making this login request, you should be using the user/agent (which should also be successful if logged in via Finesse REST API request). The best thing to do to see if you are using the right user & settings is to use an XMPP client application to test it out. If using Windows, follow the instructions from the Lab Development Environment Validation with Cisco Finesse Web Services APIs section of the Developer guide. If using a Mac, I have successfully used Adium but you have to turn on XMPP using the hidden preference option. (For some reason, there are some issues with the Adium site right now).