问题:
出现 DIGEST-MD5, Not authcated 等等
解决:
smack版本:4.2.2
pom.xml依赖<dependency>
<groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-core</artifactId>
<version>${smack.version}</version>
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-im</artifactId>
<version>${smack.version}</version>
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-extensions</artifactId>
<version>${smack.version}</version>
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-tcp</artifactId>
<version>${smack.version}</version>
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-experimental</artifactId>
<version>${smack.version}</version>
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-sasl-provided</artifactId>
<version>${smack.version}</version>
</dependency>
<dependency>
<groupId>org.igniterealtime.smack</groupId>
<artifactId>smack-java7</artifactId>
<version>${smack.version}</version>
</dependency>
Smack的配置代码: /**
* 初始化对象工厂
*/
public XMPPConnectionObjectPool() {
//XMPP连接配置
XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder();
try {
configuration = builder.
setXmppDomain(domain).
setHost(ip).
setPort(port).
setCompressionEnabled(true).
setSecurityMode(ConnectionConfiguration.SecurityMode.disabled).build();
} catch (XmppStringprepException e) {
LOGGER.error("init XMPPTCPConnectionConfiguration failed! {}", e);
throw new ServiceException("init XMPPTCPConnectionConfiguration failed!", ErrorCode.INIT_XMPP_CONFIG_FAILED);
}
}
Smack连接openfire的代码:
try {
xmpptcpConnection.connect();
xmpptcpConnection.login(atomicIntegerLoginName.getAndIncrement() + "", loginPassword, Resourcepart.from("web"));
} catch (SmackException | IOException | XMPPException | InterruptedException e) {
LOGGER.error("Login openfire failed! the reason is : {}", e.getMessage());
throw new LoginServiceException(e);
}
以上方式如果还出现DIGEST-MD5, Not authcated 等等1:查看用户名和密码是否正确
2:查看openfire的ofProperty表,找到这一行:
查看where后面的条件是否是user_name, 也就是用什么字段来验证用户名和密码的。即可解决
完!
posted on 2017-12-22 17:58
朔望魔刃 阅读(371)
评论(0) 编辑 收藏 所属分类:
即时通信