I have started&nbsp; coding with Jabber but am having problems early on with what i suspect in bad formatting in the Xml.<br>
I send the initial xml to make the stream connection and then try to
register an account but the server closes the connection. When trying
this on a telnet client it does give me a stream error which says
disconnected. Occasionally upon trying other xml such as a login stream
it might say invalid xml.<br>
I put together this quick example below to illustrate the problem.<br>
Any help would be greatly appreciated<br>
<br>
Paul<br>
<br>
import java.util.*;<br>
import java.net.*;<br>
import java.io.*;<br>
<br>
public class JabberTest implements Runnable<br>
{<br>
private Socket socket;<br>
private BufferedReader dataIn;<br>
private PrintWriter dataOut;<br>
private String line;<br>
<br>
public JabberTest()<br>
&nbsp; {<br>
&nbsp; new Thread(this).start();<br>
&nbsp; }<br>
<br>
public void run()<br>
&nbsp; {<br>
&nbsp; String hostname = &quot;<a href="http://netmindz.net">netmindz.net</a>&quot;;<br>
&nbsp; String line;<br>
<br>
&nbsp; System.out.println(&quot;Connecting..&quot;);<br>
&nbsp; try<br>
&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp; socket = new Socket(hostname,5222);<br>
&nbsp;&nbsp;&nbsp;&nbsp; dataIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));<br>
&nbsp;&nbsp;&nbsp;&nbsp; dataOut = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);<br>
<br>
&nbsp;&nbsp;&nbsp; String s1 = &quot;&lt;?xml version='1.0'?&gt;&quot;;<br>
&nbsp;&nbsp;&nbsp; s1 += &quot;&lt;stream:stream &quot;;<br>
&nbsp;&nbsp;&nbsp; s1 += &quot;xmlns:stream='<a href="http://etherx.jabber.org/streams">http://etherx.jabber.org/streams</a>' &quot;;<br>
&nbsp;&nbsp;&nbsp; s1 += &quot;xmlns='jabber:client' &quot;;<br>
&nbsp;&nbsp;&nbsp; s1 += &quot;to='<a href="http://netmindz.net">netmindz.net</a>'/&gt;&quot;;<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; send(s1);<br>
&nbsp;&nbsp;&nbsp;&nbsp; while((line = dataIn.readLine()) != null)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(line);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; String s2 = &quot; &lt;iq type='set' id='reg2'&gt; &quot;;<br>
&nbsp;&nbsp;&nbsp; s2 += &quot; &lt;query xmlns='jabber:iq:register'&gt; &quot;;<br>
&nbsp;&nbsp;&nbsp; s2 += &quot; &lt;username&gt;test user&lt;/username&gt; &quot;;<br>
&nbsp;&nbsp;&nbsp; s2 += &quot; &lt;password&gt;test user&lt;/password&gt; &quot;;<br>
&nbsp;&nbsp;&nbsp; s2 += &quot; &lt;/query&gt; &quot;;<br>
&nbsp;&nbsp;&nbsp; s2 += &quot; &lt;/iq&gt; &quot;;<br>
<br>
&nbsp;&nbsp;&nbsp; send(s2);<br>
<br>
&nbsp;&nbsp;&nbsp; while((line = dataIn.readLine()) != null)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(line);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp; socket.close();<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp; catch(Exception e)<br>
&nbsp;&nbsp;&nbsp; {<br>
&nbsp;&nbsp;&nbsp; e.printStackTrace();<br>
&nbsp;&nbsp;&nbsp; }<br>
&nbsp; }<br>
<br>
public&nbsp; void send(String message) throws java.io.IOException<br>
&nbsp; {<br>
&nbsp; dataOut.println(message);<br>
&nbsp; dataOut.flush();<br>
&nbsp; }<br>
<br>
public static void main(String[] params)<br>
&nbsp; {<br>
&nbsp; new JabberTest();<br>
&nbsp; }<br>
<br>
}<br>