`
hz_chenwenbiao
  • 浏览: 1007852 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Openfire java.lang.IllegalArgumentException: Illegal JID: 异常解决

    博客分类:
  • IM
阅读更多

我在使用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

分享到:
评论

相关推荐

    openfire3.9.3 源码部署安装文档

    1. 安装 JDK:OpenFire 需要 Java 环境的支持,因此需要安装 JDK。 2. 下载 OpenFire 源码:可以从 Ignite Realtime 官方网站下载 OpenFire 的源码。 3. 安装 Eclipse:Eclipse 是一个流行的 Java 集成开发环境(IDE...

    openfire简介.pdf

    Openfire是一款由NetNease公司开发的实时协作(RTC)服务器,它采用Java语言编写,完全开源,基于XMPP(Jabber)协议。Openfire不仅遵循基本的XMPP协议(RFC3920),更进一步实现了XMPP-IM(RFC3921)协议,这使得它...

    编译后的openfire 下载.rar

    Openfire 的架构设计基于Java技术,使用了Service Oriented Architecture(SOA)理念,将核心功能如用户管理、群组管理、会话管理等抽象为服务,便于模块化开发和维护。这些服务通过Jabber组件和XMPP协议与客户端...

    android openfire xmpp smack即时通讯,包括:聊天发生文字,表情,图片,语音等

    android openfire xmpp smack即时通讯,包括:聊天发生文字,表情,图片,语音。添加删除好友,消息提醒,群聊,邀请好友进入房间,聊天记录保存等等。界面美观。最后说明:此demo是在网上一个叫EIM企信通的demo基础...

    openfire jvm配置文件

    `openfire.vmoptions`和`openfire-service.vmoptions`是两个与Openfire JVM配置相关的文件。 `openfire.vmoptions`文件主要用于设置Openfire主进程的JVM参数。这个文件允许你定制Java虚拟机的行为,包括但不限于...

    android openfire xmpp smack即时通讯,包括:聊天发生文字,表情,图片,语音等直接导入eclipse不报错

    android openfire xmpp smack即时通讯,包括:聊天发生文字,表情,图片,语音。添加删除好友,消息提醒,群聊,邀请好友进入房间,聊天记录保存等等。界面美观。最后说明:此demo是在网上一个叫EIM企信通的demo基础...

    openfire简单插件

    3. **编写插件主类**:每个Openfire插件都需要一个主类,该类需要继承`org.jivesoftware.openfire.plugin.Plugin`。在主类中,你需要实现`initializePlugin()`和`destroyPlugin()`方法,分别用于插件的初始化和销毁...

    openfire Java客户端开发文档详解

    .setHost("your.openfire.server") .setPort(5222) .build(); XMPPTCPConnection connection = new XMPPTCPConnection(config); // 连接并认证 connection.connect(); connection.login("username", "password")...

    openfire.jar最稳定的jar包

    这个"openfire.jar"文件是Openfire服务器的核心组件之一,扮演着至关重要的角色。它不仅提供了服务器的基本功能,还包含了用于处理账户加密解密的机制。 在Openfire中,用户账户的安全性是至关重要的。为了确保数据...

    java源码:即时消息传输平台 Openfire.rar

    解压"即时消息传输平台 Openfire.rar"后,你可以看到源码结构,主要包括以下几个关键部分: 1. **Server端代码**:这部分是Openfire服务器的核心,处理客户端的连接、认证、会话管理和消息路由。 2. **数据库脚本*...

    android openfire xmpp smack即时通讯,包括:聊天发生文字,表情,图片,语音等.zip

    本项目聚焦于Android平台上的即时通讯实现,利用了开源的服务器端软件Openfire以及客户端库Smack。Openfire基于XMPP(Extensible Messaging and Presence Protocol)协议,这是一种开放标准,被广泛用于构建即时通讯...

    Openfire安装部署

    Openfire是一款基于Java开发的实时通信(Instant Messaging, IM)服务器,它支持XMPP协议,可以用于构建企业级的即时通讯系统。在这个“Openfire安装部署”压缩包中,你应该找到了进行Openfire安装和配置所需的所有...

    openfire部署学习资料

    1. 日志分析:熟悉Openfire的日志系统,学会从日志中查找错误和异常,是解决问题的关键。 2. 性能监控:使用监控工具跟踪服务器性能,如CPU使用率、内存占用、网络流量等,以便优化配置。 以上只是Openfire部署学习...

    openfire_3_10_2.tar.gz

    《Openfire_3_10_2:搭建即时通讯平台的关键步骤详解》 在IT行业中,即时通讯(Instant Messaging, IM)系统已经成为企业内外沟通的重要工具。Openfire是一款开源、基于XMPP协议的即时通讯服务器,它允许用户通过...

    jitsi-android-257

    [javac]G:\HhSh\Knowledge\OpenFire\refSrc\JITSI\jitsi-android-master\src\org\jitsi\impl\neomedia\codec\AndroidMediaCdec.java:1031: 错误:未报告的异常错误IOException;必须对其进行捕获或声明以便 [javac] =...

    openfire_plugin开发流程.pdf

    <class>org.jivesoftware.openfire.plugin.TestPlugin <!-- 插件名称 --> <name>Test Plugin <!-- 插件描述信息 --> 这是一个测试插件。 <!-- 插件作者 --> <author>Aaron <!-- 插件版本 --> ...

    Openfire集群正确配置

    Openfire是一款基于Java的开源即时通讯服务器,它支持XMPP协议,可以用于构建实时通信系统。在企业级应用中,为了提高服务的可用性和可扩展性,常常需要进行集群部署。下面将详细介绍如何正确配置Openfire集群。 一...

    Openfire聊天记录.jar

    Openfire是一款开源、基于Java的即时通讯服务器,它支持XMPP协议,允许用户进行实时通讯,包括聊天、视频、音频等。"Openfire聊天记录.jar" 文件很显然是与Openfire服务器相关的,它提供了查看和管理Openfire服务器...

    org.xmpp.packet.JID

    在使用android openfire 作为IM服务的时候 利用第三方账号 如果第三方账号中含有@符号的话 登录会报错 可以利用这个代码进行...然后传递到openfire 在查询数据库之前进行解析 这是在openfire的源代码中找出来 [更多]

Global site tag (gtag.js) - Google Analytics