Como conectar o servidor XMPP bosh usando a biblioteca java smack?

Eu estou trabalhando com o cliente xmpp no webapp usando strophe.js, conforme meu cenário de caso de uso, tenho que mudar rapidamente para páginas diferentes

A abordagem atual não é segura, pois jid e a senha são visíveis no script java. Eu estava encontrando uma solução alternativa para implementar a segurança no cliente strophe, tentando diminuir o tempo de conexão (com o bosh), enquanto passava pelo livro "XMPP Programming with JavaScript and jQuery "por jake moffitt me deparei com uma solução cujo elemento dos meus problemas acima é implementar o mecanismo de sessão. que diz que podemos usar strophe attach (jid, sid, rid) para conectar-se à conexão existente, por isso preciso de SID e RID , que posso obter do servidor de aplicativos !!!

O livro deu um exemplo de conexão automatizada ao servidor bosh quando o usuário efetuou login no aplicativo da web, o autor o implementou usando um projeto Django em python. Como eu estou usando java como linguagem do lado do servidor, tentei implementar o mesmo exemplo usando java smcak-4.0 .3 e smack-bosh-4.0.3, mas não é possível conectar-se ao servidor bosh (estou usando o ejabberd como servidor xmpp)

meu código é como abaixo

 BOSHConfiguration config = new BOSHConfiguration(false,"192.168.0.106",5280,"/http-bind/","192.168.0.106");
                XMPPBOSHConnection xbc=new XMPPBOSHConnection(config); 
                xbc.connect();
                xbc.login("admin", "admin");
                System.out.println(xbc.getConnectionID());

rastreamento de pilha

java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserFactory
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    at org.jivesoftware.smack.SmackConfiguration.processConfigFile(SmackConfiguration.java:352)
    at org.jivesoftware.smack.SmackConfiguration.processConfigFile(SmackConfiguration.java:347)
    at org.jivesoftware.smack.SmackConfiguration.<clinit>(SmackConfiguration.java:155)
    at org.jivesoftware.smack.ConnectionConfiguration.<init>(ConnectionConfiguration.java:67)

Quando tentei entrar no servidor bosh ele falha sempre, não tenho certeza do que está errado aqui, alguém pode me explicar?

Mais uma coisa que eu acho é que é possível obter o SID (identificador de sessão) usando "xbc.getConnectionID ()", mas como encontrar o identificador de solicitação?

Qualquer ajuda no problema acima será apreciável !!!!

desde já, obrigado!

questionAnswers(3)

yourAnswerToTheQuestion