Unable to Login in to 3.6.0a using SparkWeb

Today I download openfire 3.6.0a source code. I build it using build ant script. I am trying to login in to this server with sparkweb clinet.

But I am not able to Login. When I see warn.log file It shows following errors.

2008.09.03 17:22:58 Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
2008.09.03 17:22:58 Going to buffer response body of large or unknown size. Using getResponseBodyAsStream instead is recommended.
2008.09.03 17:23:30 Closing session due to exception: (SOCKET, R: /127.0.1.1:40667, L: /127.0.1.1:5222, S: 0.0.0.0/0.0.0.0:5222)
org.apache.mina.filter.codec.ProtocolDecoderException: java.lang.Exception: Disallowed character (Hexdump: 3C 70 6F 6C 69 63 79 2D 66 69 6C 65 2D 72 65 71 75 65 73 74 2F 3E 00)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:170)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.Exception: Disallowed character
at org.jivesoftware.openfire.nio.XMLLightweightParser.read(XMLLightweightParser.ja va:210)
at org.jivesoftware.openfire.nio.XMPPDecoder.doDecode(XMPPDecoder.java:32)
at org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtoco lDecoder.java:133)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:163)
… 9 more
2008.09.03 17:23:57 Autocreating jiveID row for type '25’
2008.09.03 17:24:35 Admin console: Using RSA certificates but they are not valid for the hosted domain
2008.09.03 17:24:55 Closing session due to exception: (SOCKET, R: /192.168.1.4:39497, L: /192.168.1.4:5222, S: 0.0.0.0/0.0.0.0:5222)

I get the same error:

008.09.03 09:43:21 Closing session due to exception: (SOCKET, R: /160.79.179.194:52503, L: /10.253.206.63:5222, S: 0.0.0.0/0.0.0.0:5222)

org.apache.mina.filter.codec.ProtocolDecoderException: java.lang.Exception: Disallowed character (Hexdump: 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31 2E 30 22 3F 3E 3C 66 6C 61 73 68 3A 73 74 72 65 61 6D 20 74 6F 3D 22 65 63 32 2D 37 35 2D 31 30 31 2D 32 35 31 2D 31 31 37 2E 63 6F 6D 70 75 74 65 2D 31 2E 61 6D 61 7A 6F 6E 61 77 73 2E 63 6F 6D 22 20 78 6D 6C 6E 73 3D 22 6A 61 62 62 65 72 3A 63 6C 69 65 6E 74 22 20 78 6D 6C 6E 73 3A 66 6C 61 73 68 3D 22 68 74 74 70 3A 2F 2F 77 77 77 2E 6A 61 62 62 65 72 2E 63 6F 6D 2F 73 74 72 65 61 6D 73 2F 66 6C 61 73 68 22 20 76 65 72 73 69 6F 6E 3D 22 31 2E 30 22 3E 00)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:170)
at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:299)
at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:53)
at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:648)
at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :239)
at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:283)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.Exception: Disallowed character
at org.jivesoftware.openfire.nio.XMLLightweightParser.read(XMLLightweightParser.ja va:210)
at org.jivesoftware.openfire.nio.XMPPDecoder.doDecode(XMPPDecoder.java:32)
at org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtoco lDecoder.java:133)
at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:163)
… 9 more

Same here. Some people has got it working by changing to http-bind, but this is no a real solution. Pleaaase fix it.

When I traced within the XMPPDecoder.java this is what it prints :

<?xml version="1.0"?><flash:stream to="localhost" xmlns="jabber:client"

xmlns:flash=“http://www.jabber.com/streams/flash” version=“1.0” /> demo1</u
sername>789654

I am suspecting <?xml version="1.0"?> is causing the "Disallowed character " warning. This doesnt not come when I login through the Spark client.

Http-Bind IS the answer. You are trying to use a browser, not a client.

These are the settings I had to use to make it work, and it works perfect.

YMMV

This is also covered in another thread

http://www.vortex.prodigynet.co.uk/misc/ascii_conv.html can convert the hex dumps

What all the dumps have in common however is that they end in 00

I am convinced that openfire is rejecting an XML tag which ends in NULL but should only be rejecting XML that would contain NULL inside the tag or as a child of that tag.

trimming the xml before checking for validity would do it.

I hacked sparkweb to not send policy requests and I can connect to my server this is not a solution for people who have the client served from another server.

I am wondering if sparkweb should even be making policy requests when the client tries to communicate with the server it is served from

Thanks for all the help. Http-bind work. I now have one more problem.

Even though I am able to login through SparkWeb as user “demo” , in the “http://localhost:9090/plugins/fastpath/workgroup-summary.jsp” – this page shows the following given below – Waiting for member. Which means it did not recognize that the “demo” user logged in through SparkWeb. This is further confirmed by the fact that when I try to login through WebChat as http://localhost:9090/webchat/index.jsp the status of “demo” workgroups shows as “Offline”.

Workgroup Summary

Below is the list of workgroups in the system. A workgroup is an alias for contacting a group of members and is made up of one or more queues.

Total Workgroups: 1.

Name
Status
Members (Active/Total)
Queues
Users in Queues
Edit
Delete
demo
Demo workgroup
Waiting for member
0/1
1
0

When I login through the Spark client (Swing desktop client as demo) – NONE of the above problems happen. The workgroup summary says 1 memeber active and the webchat allows me to intiate a conversation with the "demo user logged in through Spark desktop client.

What else I am missing.