[cl-xmpp-devel] [Fwd: Ending an session]

Kevin Crosbie kcrosbie at ravenpack.com
Thu Nov 29 10:25:18 UTC 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
 
Hello,


I've been using cl-xmpp to do some work with eJabberd.
I was putting a little work into error handling, so I removed the line
from receive-stanza:
(error "Received error" stanza)

instead I provided a handle method that dispatched on xmpp-protocol-error.

This worked fine, and in most cases, I can continue afterwards.
There are two exceptions however:

1. If the server is killed for some reason, I get the error:
Error: Document not well-formed: Bad nesting. "stream:stream" / (:EOF)
  [condition type: WELL-FORMEDNESS-VIOLATION]
in receive stanza

2. If I login with the same details simultaneously I see a "Conflict:
Replaced by new connection" error being handled and straight away, the
same error:
Error: Document not well-formed: Bad nesting. "stream:stream" / (:EOF)
  [condition type: WELL-FORMEDNESS-VIOLATION]

This, I assume is due to the server having sent the tag:
</stream:stream>
which the client should interpret as the end of the session, but instead
is thrown as an error by cxml or klacks because it doesn't see it as
having been opened.

My questions are:
* Am I correct in my assumption?
* If not, what is causing the Bad nesting error
* If I am correct, how can I go about fixing this?   One would imagine
that the server-source should retain enough information about the
context of the xml document to know that this tag matches a previously
opened tag.

Best Regards,

Kevin Crosbie
Software Engineer


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
 
iD8DBQFHTpONEdUcNFP15iMRApuuAKC9rNQW/uRhWYlxmNcgNjcPcE6iRgCfXKZ5
Agcs1egbPmH+2fQ8cvK2AUI=
=PmhL
-----END PGP SIGNATURE-----




More information about the cl-xmpp-devel mailing list