我在使用openfire集成现在系统的用户后,进入openfire的后台管理页面,选择Users/Groups(显示用户和组信息)时,出现了如下异常:
HTTP ERROR: 500
Illegal JID: ? ?@192.168.0.156
RequestURI=/user-summary.jsp
Caused by:
java.lang.IllegalArgumentException: Illegal JID: ? ?@192.168.0.156
at org.xmpp.packet.JID.init(JID.java:396)
at org.xmpp.packet.JID.(JID.java:246)
at org.jivesoftware.openfire.XMPPServer.createJID(XMPPServer.java:249)
at org.jivesoftware.openfire.admin.AdminManager.isUserAdmin(AdminManager.java:240)
at org.jivesoftware.openfire.admin.user_002dsummary_jsp._jspService(user_002dsummary_jsp.java:247)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:146)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Caused by: org.jivesoftware.stringprep.StringprepException: Contains prohibited code points.
at org.jivesoftware.stringprep.Stringprep.nodeprep(Stringprep.java:120)
at org.xmpp.packet.JID.init(JID.java:351)
... 35 more
Caused by:
org.jivesoftware.stringprep.StringprepException: Contains prohibited code points.
at org.jivesoftware.stringprep.Stringprep.nodeprep(Stringprep.java:120)
at org.xmpp.packet.JID.init(JID.java:351)
at org.xmpp.packet.JID.(JID.java:246)
at org.jivesoftware.openfire.XMPPServer.createJID(XMPPServer.java:249)
at org.jivesoftware.openfire.admin.AdminManager.isUserAdmin(AdminManager.java:240)
at org.jivesoftware.openfire.admin.user_002dsummary_jsp._jspService(user_002dsummary_jsp.java:247)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:146)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Powered by Jetty://
从网上找了资料才知道,在openfire的信息(应该主要是从数据库里查询出来的信息)不能含有空格,而我在集成的那个系统里面的用户名有一个如"成龙"是写成"成 龙",所以在选择Users/Groups时出现了如下异常,只要将空格去掉就可以了,但有时如果真要用空格时,怎么办?
答如下:
Hi,
you likely need to use "\20" instead of " " in the JID. As you can see the log you did post contains "Contains prohibited code points." Anyhow I wonder why Spark fails to escape " " properly. My Spark beta/trunk version does not have this problem.
http://xmpp.org/extensions/xep-0106.html describes the mapping of escape characters.
LG
分享到:
相关推荐
1. 安装 JDK:OpenFire 需要 Java 环境的支持,因此需要安装 JDK。 2. 下载 OpenFire 源码:可以从 Ignite Realtime 官方网站下载 OpenFire 的源码。 3. 安装 Eclipse:Eclipse 是一个流行的 Java 集成开发环境(IDE...
Openfire是一款由NetNease公司开发的实时协作(RTC)服务器,它采用Java语言编写,完全开源,基于XMPP(Jabber)协议。Openfire不仅遵循基本的XMPP协议(RFC3920),更进一步实现了XMPP-IM(RFC3921)协议,这使得它...
Openfire 的架构设计基于Java技术,使用了Service Oriented Architecture(SOA)理念,将核心功能如用户管理、群组管理、会话管理等抽象为服务,便于模块化开发和维护。这些服务通过Jabber组件和XMPP协议与客户端...
android openfire xmpp smack即时通讯,包括:聊天发生文字,表情,图片,语音。添加删除好友,消息提醒,群聊,邀请好友进入房间,聊天记录保存等等。界面美观。最后说明:此demo是在网上一个叫EIM企信通的demo基础...
`openfire.vmoptions`和`openfire-service.vmoptions`是两个与Openfire JVM配置相关的文件。 `openfire.vmoptions`文件主要用于设置Openfire主进程的JVM参数。这个文件允许你定制Java虚拟机的行为,包括但不限于...
android openfire xmpp smack即时通讯,包括:聊天发生文字,表情,图片,语音。添加删除好友,消息提醒,群聊,邀请好友进入房间,聊天记录保存等等。界面美观。最后说明:此demo是在网上一个叫EIM企信通的demo基础...
3. **编写插件主类**:每个Openfire插件都需要一个主类,该类需要继承`org.jivesoftware.openfire.plugin.Plugin`。在主类中,你需要实现`initializePlugin()`和`destroyPlugin()`方法,分别用于插件的初始化和销毁...
.setHost("your.openfire.server") .setPort(5222) .build(); XMPPTCPConnection connection = new XMPPTCPConnection(config); // 连接并认证 connection.connect(); connection.login("username", "password")...
这个"openfire.jar"文件是Openfire服务器的核心组件之一,扮演着至关重要的角色。它不仅提供了服务器的基本功能,还包含了用于处理账户加密解密的机制。 在Openfire中,用户账户的安全性是至关重要的。为了确保数据...
解压"即时消息传输平台 Openfire.rar"后,你可以看到源码结构,主要包括以下几个关键部分: 1. **Server端代码**:这部分是Openfire服务器的核心,处理客户端的连接、认证、会话管理和消息路由。 2. **数据库脚本*...
本项目聚焦于Android平台上的即时通讯实现,利用了开源的服务器端软件Openfire以及客户端库Smack。Openfire基于XMPP(Extensible Messaging and Presence Protocol)协议,这是一种开放标准,被广泛用于构建即时通讯...
Openfire是一款基于Java开发的实时通信(Instant Messaging, IM)服务器,它支持XMPP协议,可以用于构建企业级的即时通讯系统。在这个“Openfire安装部署”压缩包中,你应该找到了进行Openfire安装和配置所需的所有...
1. 日志分析:熟悉Openfire的日志系统,学会从日志中查找错误和异常,是解决问题的关键。 2. 性能监控:使用监控工具跟踪服务器性能,如CPU使用率、内存占用、网络流量等,以便优化配置。 以上只是Openfire部署学习...
《Openfire_3_10_2:搭建即时通讯平台的关键步骤详解》 在IT行业中,即时通讯(Instant Messaging, IM)系统已经成为企业内外沟通的重要工具。Openfire是一款开源、基于XMPP协议的即时通讯服务器,它允许用户通过...
[javac]G:\HhSh\Knowledge\OpenFire\refSrc\JITSI\jitsi-android-master\src\org\jitsi\impl\neomedia\codec\AndroidMediaCdec.java:1031: 错误:未报告的异常错误IOException;必须对其进行捕获或声明以便 [javac] =...
<class>org.jivesoftware.openfire.plugin.TestPlugin <!-- 插件名称 --> <name>Test Plugin <!-- 插件描述信息 --> 这是一个测试插件。 <!-- 插件作者 --> <author>Aaron <!-- 插件版本 --> ...
Openfire是一款基于Java的开源即时通讯服务器,它支持XMPP协议,可以用于构建实时通信系统。在企业级应用中,为了提高服务的可用性和可扩展性,常常需要进行集群部署。下面将详细介绍如何正确配置Openfire集群。 一...
Openfire是一款开源、基于Java的即时通讯服务器,它支持XMPP协议,允许用户进行实时通讯,包括聊天、视频、音频等。"Openfire聊天记录.jar" 文件很显然是与Openfire服务器相关的,它提供了查看和管理Openfire服务器...
在使用android openfire 作为IM服务的时候 利用第三方账号 如果第三方账号中含有@符号的话 登录会报错 可以利用这个代码进行...然后传递到openfire 在查询数据库之前进行解析 这是在openfire的源代码中找出来 [更多]