我尝试使用 apache camel 使用 gtalk 帐户发送即时消息。
我使用了 apache camel xmpp 组件。我能够连接到我的 jabber 帐户并成功发送消息。对于 jabber 帐户,我使用以下网址
xmpp://abc@jabber.org/praveen@gmail.com?password=secret"
这会从我的 abc jabber 帐户向 praveen gmail 帐户发送一条消息。但是当我尝试从我的 gmail 帐户发送消息时,它会失败并出现以下异常
xmpp://talk.google.com:5222/abc@jabber.org?serviceName=gmail.com&user=praveen&password=secret
Caused by: SASL authentication PLAIN failed: invalid-authzid:
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:337)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203)
at org.apache.camel.component.xmpp.XmppEndpoint.createConnection(XmppEndpoint.java:169)
at org.apache.camel.component.xmpp.XmppPrivateChatProducer.doStart(XmppPrivateChatProducer.java:105)
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)
at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:62)
at org.apache.camel.impl.ProducerCache.doGetProducer(ProducerCache.java:387)
... 7 more
当我对此进行一些研究时,我发现 Google 不支持 SASL。所以我需要设置
setSASLAuthenticationEnabled(false);
在 org.jivesoftware.smack.ConnectionConfiguration 上让它工作。但是我在骆驼文档中找不到任何参数来设置这个参数。
有没有人成功做到这一点?如果是的话,你能给我一些关于这个的信息吗?
谢谢,帕拉尼维尔拉詹 B