Project

General

Profile

Newbie Questions

Corey Wilson
Added over 5 years ago

I'd like to link my current Website DB with Tigase but unfortunately have 0 Java knowledge. Is it possible to use SQL queries alone to achieve this?

For Ex.

#1

I noticed online_status is used to track how many people have actually connected to the XMPP Jid.

In the Custom Auth Connector Document ( http://www.tigase.org/content/tigase-custom-auth-connector ) when a user disconnects the DB is updated to reflect -1, but I don't see a +1 for when a user logs in?

#2

Is it possible to pass a query to Tigase to pull a users roster

What about to handle messages?

This way I wouldn't have to update two databases.

I also have another problem trying to set up a custom auth database - I receive this error message:

tigase.db.DBInitException: Problem initializing jdbc connection: jdbc:mysql://localhost:8889/authenticationdb?user=root&password=root

    at tigase.db.jdbc.JDBCRepository.initRepository(JDBCRepository.java:849)

    at tigase.db.RepositoryFactory.getUserRepository(RepositoryFactory.java:489)

    at tigase.conf.ConfiguratorAbstract.addUserRepo(ConfiguratorAbstract.java:952)

    at tigase.conf.ConfiguratorAbstract.setProperties(ConfiguratorAbstract.java:872)

    at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:547)

    at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:179)

    at tigase.conf.Configurator.componentAdded(Configurator.java:51)

    at tigase.conf.Configurator.componentAdded(Configurator.java:34)

    at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:115)

    at tigase.server.MessageRouter.addRegistrator(MessageRouter.java:145)

    at tigase.server.MessageRouter.setConfig(MessageRouter.java:700)

    at tigase.server.XMPPServer.start(XMPPServer.java:157)

    at tigase.server.XMPPServer.main(XMPPServer.java:126)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION clanster_new.TigGetDBProperty does not exist

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

    at com.mysql.jdbc.Util.getInstance(Util.java:381)

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)

    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)

    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)

    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)

    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)

    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)

    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)

    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1383)

    at tigase.db.jdbc.JDBCRepository.checkDBSchema(JDBCRepository.java:1392)

    at tigase.db.jdbc.JDBCRepository.initRepository(JDBCRepository.java:813)

    at tigase.db.RepositoryFactory.getUserRepository(RepositoryFactory.java:489)

    at tigase.conf.ConfiguratorAbstract.addUserRepo(ConfiguratorAbstract.java:952)

    at tigase.conf.ConfiguratorAbstract.setProperties(ConfiguratorAbstract.java:872)

    at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:547)

    at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:179)

    at tigase.conf.Configurator.componentAdded(Configurator.java:51)

    at tigase.conf.Configurator.componentAdded(Configurator.java:34)

    at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:115)

    at tigase.server.MessageRouter.addRegistrator(MessageRouter.java:145)

    at tigase.server.MessageRouter.setConfig(MessageRouter.java:700)

    at tigase.server.XMPPServer.start(XMPPServer.java:157)

    at tigase.server.XMPPServer.main(XMPPServer.java:126)

2013-08-17 15:35:25.137 [main] UserRepositoryMDImpl.userExists() WARNING: Couldn't obtain user repository for domain: vhost-manager, not even default one!

2013-08-17 15:35:25.137 [main] UserRepositoryMDImpl.addUser() WARNING: Couldn't obtain user repository for domain: vhost-manager, not even default one!

2013-08-17 15:35:25.137 [main] UserRepositoryMDImpl.addUser() WARNING: Couldn't obtain user repository for domain: vhost-manager, not even default one!

2013-08-17 15:35:25.138 [main] UserRepositoryMDImpl.getData() WARNING: Couldn't obtain user repository for domain: vhost-manager, not even default one!

This was built with: tigase-server-5.2.0-SNAPSHOT-b3255-dist-max.tar.gz

(I am probably doing something wrong here)


Replies (28)

Added by Wojciech Kapcia TigaseTeam over 5 years ago

1 If you take a look at tigase-server / database / mysql-schema-4-sp.sql you will notice, that the stored procedure used to authenticate user (as per linked TigaseCustomAuth doccumentation states), i.e. basic-conf/auth-repo-params/user-login-query={ call TigUserLoginPlainPw(?, ?) } is actually responsible for updating online_status count. Bottomline - yes, it's possible to authenticate against your database with user accounts - it's only a matter of writing specific query/stored procedure (so no Java, but SQL knowledge needed)

2 I'm not sure what query you are referring to - SQL from Tigase DB? XMPP query from the client?

3 Did you initialized database (both schema and stored procedures)?

Added by Corey Wilson over 5 years ago

#1 - That makes way more sense, I thought it was a java procedure or something... awesome!!

#2 - Sorry, I mean, would it be possible to obtain data for the roster / messages / etc the same way we do for Login Authentication.

#3: I copied exactly what was in here ( http://www.tigase.org/content/tigase-custom-auth-connector ) without any query modifications to see if I still get the error, and I still do..:

--comp-class-1 = tigase.muc.MUCComponent

--virt-hosts = localhost

--auth-db-uri = jdbc:mysql://localhost:8889/tigase?user=root&password=root

--user-db-uri = jdbc:mysql://localhost:8889/authentication_db?user=root&password=root

--user-db = mysql

--auth-db = tigase-auth

--admins = admin@localhost

--comp-name-4 = message-archive

--comp-name-3 = proxy

config-type = --gen-config-def

--comp-name-2 = pubsub

--comp-name-1 = muc

--cluster-mode = true

--sm-plugins = +message-archive-xep-0136,+jabber:iq:auth,+urn:ietf:params:xml:ns:xmpp-sasl,+urn:ietf:params:xml:ns:xmpp-bind,+urn:ietf:params:xml:ns:xmpp-session,+jabber:iq:register,+jabber:iq:roster,+presence,+jabber:iq:privacy,+jabber:iq:version,+http://jabber.org/protocol/stats,+starttls,+msgoffline,+vcard-temp,+http://jabber.org/protocol/commands,+jabber:iq:private,+urn:xmpp:ping,+basic-filter,+domain-filter,+pep,-zlib

--debug = server

--comp-class-4 = tigase.archive.MessageArchiveComponent

--comp-class-3 = tigase.socks5.Socks5ProxyComponent

--comp-class-2 = tigase.pubsub.PubSubComponent

I'm also attaching my log. I noticed that there are a number of ".DS_STORE" warnings, I assume it shouldn't be picking those up?

2013-08-18 10:52:56.407 [main] BasicComponent.loadScripts() WARNING: Admin script found but it has no command ID or commanddescription: scripts/admin/.DS_Store

Added by Wojciech Kapcia TigaseTeam over 5 years ago

@2

well, roster is stored in the DB, messages as well (but under the condition, that you've enabled message archive component and enabled message archiving for account in you are interested)

@3

have you followed guide Prepare the MySQL database for the Tigase server ?

Added by Corey Wilson over 5 years ago

It turns out I had them backwards - thats why I had the error

--auth-db-uri = jdbc:mysql://localhost:8889/tigase?user=root&password=root

--user-db-uri = jdbc:mysql://localhost:8889/authentication_db?user=root&password=root

To:

--auth-db-uri = jdbc:mysql://localhost:8889/authentication_db?user=root&password=root

--user-db-uri = jdbc:mysql://localhost:8889/tigase?user=root&password=root

--auth-db = tigase-custom

I'm still a little confused tho - I can't seem to get it to authenticate. I added:

basic-conf/auth-repo-params/user-login-query=SELECT "test@localhost" AS user_id

test@localhost is not actually an account - shouldn't it authenticate regardless? I only receive

@2 - I realize the roster is stored in the DB, I have a table "user_friends"

user_id , friend_id , status

I'd like to use the same one for the roster, possibly changing it to:

user_id , user_jid , friend_id , friend_jid , status

or something along those lines - I suppose it doesn't really make any difference and I could move to only using the tigase db for friends - just thought it might be a bit easier.

Added by Wojciech Kapcia TigaseTeam over 5 years ago

@1

user-login-query takes two parameters ("?", user and password accordingly) which you have to use/provide; try following:

basic-conf/auth-repo-params/user-login-query=SELECT "admin@firefly", ?, ? AS user_id

@2

currently you can't use it like that (well, at least not out of the box) to store user roster in separate schema. you could use dynamic rosters to get roster items from external sources but this would require a bit of java coding and it would be one way (read only).

Added by Corey Wilson over 5 years ago

I used the code you pasted and I still get a not-authorized error - is there any way to see exactly what queries are being executed? I attached my log - maybe you can see something wrong?

As far as I can tell it is adding the query, and opening up the right databases?

Added by Wojciech Kapcia TigaseTeam over 5 years ago

@1

change JID to the one you try to login, i.e.:

basic-conf/auth-repo-params/user-login-query=SELECT "test@localhost", ?, ? AS user_id

Added by Corey Wilson over 5 years ago

It worked! Thanks for all your help!

Since I am (most likely) going to need the tigase server running multiple sites, and still want to integrate the data from the built-in tables for the roster, message history, pubsub, etc. I (think) I am going to use: http://www.tigase.org/content/tigase-server-and-multiple-databases

This way I can have a tigase table set up in each database for the websites that I run. I would only need 1 mysql connection and could call the other table using: table.roster , etc.

Does this sound reasonable? Or are there performance issues using tigase like this?

Hopefully this will help guide some other newbies on the way!

Added by Wojciech Kapcia TigaseTeam over 5 years ago

this sounds reasonable and there shouldn't be performance penalties (however this depends on the number of websites you are planning to run)

Added by Corey Wilson over 5 years ago

I have another question, this might belong under another category, but since I have this thread going already and it is technically still a newbie question - maybe it works :)

On my website you are able to subscribe to a variety of different things (groups, people, games). With the PubSub every time someone posts it will update their page and send out the new post to be displayed on everyones feed - my question is, is there a way to get the last 10 posts from all of the publications the user has subscribed to? Basically how twitter / Facebook does theirs?

I originally had a secondary "feed" table that I would query the database for, but this seems redundant since PubSub will save a history of all publications.

I searched through: http://xmpp.org/extensions/xep-0060.html but only see information regarding a single publication, or adding each individual nodes to the search ( http://xmpp.org/extensions/xep-0060.html#subscriber-retrieve ) - if the user has subscribed to 100's of nodes, this could be massive.

Avatar?id=6098&size=32x32

Added by Bartosz Małkowski TigaseTeam over 5 years ago

Unfortunatelly our PubSub does not support this feature (pubsub#send_last_published_item).

Added by Corey Wilson over 5 years ago

Thanks for your response - I can always try pubsubhubbub or something.

I hate to keep bothering people but I am still having some issues with getting Tigase set up. I have been able to log in and prebind to the server, but am unable to receive a response from any IQs

I've tried: Sending a message, discovering services, and MuC - I haven't been able to get a response from anything, not even an error...

For example - I'm using strophe, and sent this IQ:

<iq from='myaccount@localhost'

id='h7ns81g'

to='localhost'

type='get'>

I can see it sending, but no information is returned and the callback never gets called.. I'm not quite sure what I'm doing wrong?

Here is my init.properties:

--comp-class-1 = tigase.muc.MUCComponent

--virt-hosts = localhost

--auth-db-uri = jdbc:mysql://localhost:8889/authentication_db?user=root&password=root

--user-db-uri = jdbc:mysql://localhost:8889/tigase?user=root&password=root

--user-db = mysql

--admins = admin@localhost,admin@clanster.net

--comp-name-4 = message-archive

--auth-db = tigase-custom

--comp-name-3 = proxy

config-type = --gen-config-def

--comp-name-2 = pubsub

--comp-name-1 = muc

--cluster-mode = true

--sm-plugins = +message-archive-xep-0136,+jabber:iq:auth,+urn:ietf:params:xml:ns:xmpp-sasl,+urn:ietf:params:xml:ns:xmpp-bind,+urn:ietf:params:xml:ns:xmpp-session,+jabber:iq:register,+jabber:iq:roster,+presence,+jabber:iq:privacy,+jabber:iq:version,+http://jabber.org/protocol/stats,+starttls,+msgoffline,+vcard-temp,+http://jabber.org/protocol/commands,+jabber:iq:private,+urn:xmpp:ping,+basic-filter,+domain-filter,+pep,-zlib

--debug = server

--comp-class-4 = tigase.archive.MessageArchiveComponent

--comp-class-3 = tigase.socks5.Socks5ProxyComponent

--comp-class-2 = tigase.pubsub.PubSubComponent

basic-conf/auth-repo-params/user-login-query=*****

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

As a warning, please keep in mind that the user-login-query is printed out in the log file you attached. So if you want to keep it secret, either edit the file or post here stuff from your test/development machine where such information is not critical.

As for the problem, the tigase-console.log does not show communication data between the client and the server, therefore I cannot tell what exactly is wrong but it shows an exception that UUID (SID) number is incorrect. I do not know why and what exactly is sent to the server but apparently the client does not send a correct data to the server.

Please check this out. Ideally please enable debug for the server package and look inside the tigase.log.0 file for clues.

Added by Corey Wilson over 5 years ago

I tried to delete the log I put up and then I tried to change it with a different one but it didn't work - o well not a big deal anyway I'm sure.

It turned out that I had an error in the code and it was still appearing as if it had "Attached" even tho it was an invalid SID.

I have a question about Prebinding if you don't mind - I'm a little unclear on how it is meant to work.

When you prebind a session should the prebind only last for the "wait" duration even while a user has attached to it? Or should it keep alive as long as there is a user utilizing the session? I was originally thinking the latter would work although it only seems to prebind once, and when I refresh the page it gives me an "Invalid SID"

Added by Corey Wilson over 5 years ago

I'm almost positive it should keep the pre-bound connection on a page refresh and not give me an Invalid SID. I've spent the last 2 or 3 hours messing with it and trying 3rd party scripts to see if I can get around this but they all give me an "Invalid SID" error as soon as I refresh (It connects fine the first load) - I ensured the RID was > than the requests sent, etc.

I'm uploading the tigase.log.0&1 file - maybe you can see something wrong?

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

You have to make sure you send a correct SID and RID to the Bosh server after page refresh, on every refresh.

Added by Corey Wilson over 5 years ago

does the SID change?

or does the RID have to be an EXACT single increment from compared to the previous request?

If not, I have sent the original SID and a RID that was unique.

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

SID does not change, I am not sure about RID, it probably should be exact increment. But the error says invalid SID, so another possibility is that there is too much time between the page reloads and your client reconnects with the same SID. There is only inactivity time by default set to 10 or 30 seconds when the Bosh session is preserved. When the timeout runs out the Bosh session is destroyed and no subsequent connections for the SID are possible.

Added by Corey Wilson over 5 years ago

A little bit of help seems to go a long way lol.

There happened to be an xml error in both the 3rd party script and my script which was causing it to break the session.

After removing a bunch of code it seemed to allow me to refresh multiple times without receiving the Invalid SID message.

Thanks a ton for all your help!!!!!

Another question for you (lol) - I am basically moving from using Openfire to Tigase and had this working with Openfire, but it does not work with Tigase (feature-not-supported):

http://xmpp.org/extensions/xep-0059.html

Basically I have a list of MUC rooms that you can search through but RSM isn't supported - do you have any recommended alternatives?

What about alternatives for: pubsub#send_last_published_item - I would think that's kind of a big one with PubSub

Again, I really appreciate all your help with these questions - I know i've asked a lot!!!

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

Many of our admin ad-hoc commands do have paging capabilities but this paging is most likely not based on the XEP. As for the PubSub list of last published elements, let me ask our another developer, he was working on a similar thing.

Added by Corey Wilson over 5 years ago

Moooore questions =( I must be getting a bit annoying.. sorrryyy!

My prebind seems to drop intermittently between the 1st to 4th refresh when making queries to XMPP which led me to another issue that may be related:

<body xmlns:xmpp="urn:xmpp:xbosh" xmlns:stream="http://etherx.jabber.org/streams" xmlns="http://jabber.org/protocol/httpbind" secure="true" from="localhost" ack="516169864165" version="1.0">
<message xmlns="jabber:client" type="chat" to="me@localhost" from="me@localhost/tigase-57"><body>hello?</body></message>
<presence xmlns="jabber:client" to="me@localhost" from="me@localhost/tigase-57"></presence>
<message xmlns="jabber:client" type="error" from="me@localhost" to="me@localhost/tigase-57"><body>hello?</body>
  <error type="auth" code="401">
     <not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></not-authorized>
     <text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">You must authorize session first.</text>
  </error>
</message>
</body> 

Again, I tried this on my site and the 3rd party prebind script I picked up online ( https://github.com/Marko-M/xmpp-bosh-php-jquery ). Can't seem to get it to authorize - I have sent the session and been able to attach to the SID:

<body xmlns="http://jabber.org/protocol/httpbind" xmlns:xmpp="urn:xmpp:xbosh" content="text/xml charset=utf-8" xml:lang="en" hold="1" to="localhost" wait="60" inactivity="100"/>

<body xmlns="http://jabber.org/protocol/httpbind" content="text/xml charset=utf-8" xml:lang="en" sid="4b01728d-5b88-41d1-9110-b8ab2d201287" rid="323080954050">
  <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">PASSWORD=</auth>
</body>


<body xmlns="http://jabber.org/protocol/httpbind" xmlns:xmpp="urn:xmpp:xbosh" rid="323080954051" sid="4b01728d-5b88-41d1-9110-b8ab2d201287" to="localhost" xml:lang="en" xmpp:restart="true"/>


<body xmlns="http://jabber.org/protocol/httpbind" rid="323080954052" sid="4b01728d-5b88-41d1-9110-b8ab2d201287">
  <iq xmlns="jabber:client" type="set">
    <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">
      <resource/>
    </bind>
  </iq>
</body>

<iq xmlns="jabber:client" type="set" id="session_auth_214381478" to="localhost">
  <session xmlns="urn:ietf:params:xml:ns:xmpp-session"/>
</iq>

AS per usual I have uploaded the logs in case you need them.

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

Corey Wilson wrote:

Moooore questions =( I must be getting a bit annoying.. sorrryyy!

My prebind seems to drop intermittently between the 1st to 4th refresh when making queries to XMPP which led me to another issue that may be related:

Could you please describe why you think there is an issue? From the example you provided it is not clear as the data do not make much sense. Does the server really sends you a message and then the same message with an error? And do you really send messages to the user himself? Please add some comments to your data to make it easier to understand. What is sent by the client, what is sent by the server, why do you think something is wrong.

And also, I highly recommend you to get familiar with Tigase logs. Learn to read them and understand them. For a project like yours it is essential tool to diagnose problems with either client code or server side problems.

Added by Corey Wilson over 5 years ago

I was just sending a message back to myself to see if it would go through, I tried another example sending it to a different user and received the same thing. I am sure it is not a Tigase server issue but rather something that I don't have that Tigase is expecting.

I am sending a message to a user after attaching the session with Strophe:

<body rid="413652588487" xmlns="http://jabber.org/protocol/httpbind" sid="2c6ee2ac-7520-4fed-8879-879427451c83">
  <presence xmlns="jabber:client"></presence>
  <message to="Person@localhost" type="chat" xmlns="jabber:client"><body>hello?</body></message>
</body>

Tigase then returns:

<body xmlns:xmpp="urn:xmpp:xbosh" xmlns:stream="http://etherx.jabber.org/streams" xmlns="http://jabber.org/protocol/httpbind" secure="true" from="localhost" ack="413652588488" version="1.0">
  <message xmlns="jabber:client" type="error" from="Person@localhost" to="me@localhost/tigase-91"><body>hello?</body>
    <error type="auth" code="401">
      <not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"></not-authorized>
      <text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" xml:lang="en">You must authorize session first.</text>
    </error>
  </message>
</body>

According to: http://xmpp.org/extensions/xep-0078.html#usecases-auth the not-authorized means: Example 6. Server Informs Client of Failed Authentication (Incorrect Credentials)

In the log pertaining to this:

2013-08-27 16:27:33.303 [message-archive-xep-0136 Queue Worker 1] MessageArchivePlugin.process() WARNING: NotAuthorizedException for packet: from=bosh@computer.local/573ac410-49d3-4140-81f2-19523572ec34, to=sess-man@computer.local, DATA=hello?, SIZE=132, XMLNS=jabber:client, PRIORITY=NORMAL, PERMISSION=NONE, TYPE=chat

2013-08-27 16:19:52.672 [urn:ietf:params:xml:ns:xmpp-sasl Queue Worker 0]  SaslAuth.process()  WARNING: Problem with SASL
java.lang.NullPointerException
    at tigase.xmpp.impl.SaslAuth.process(SaslAuth.java:268)
    at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2502)
    at tigase.util.WorkerThread.run(WorkerThread.java:132)

Although the Authentication process appears to be returning a success:

<body xmlns:xmpp="urn:xmpp:xbosh" xmlns:stream="http://etherx.jabber.org/streams" secure="true" from="localhost" xmlns="http://jabber.org/protocol/httpbind" ack="661667317972" xmpp:version="1.0">
   <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
</body>

I just re-tried the Prebind issue I was having and it looks like somewhere along the line I fixed it so I guess it was unrelated. I am still receiving not-authorized when trying to send a message. I apologize about the confusion

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam over 5 years ago

Looks like a problem with user authentication. We are looking into this.

Added by Corey Wilson over 5 years ago

I've come across a few more problems as I'm working with Tigase, and was wondering if someone might help :)

I noticed when creating a MUC room I am always receiving a "403 forbidden" when trying to save a chatroom configuration.

Additionally, when I try to obtain the room configuration with: user@host I get no response,

I.E.

<body rid="102798866104" xmlns="http://jabber.org/protocol/httpbind" sid="435d5c5b-f2fc-4eed-b2d6-1ee5762c7756">
  <iq from="user@host" to="room@muc" type="get" xmlns="jabber:client" id="6599:sendIQ">
    <query xmlns="http://jabber.org/protocol/muc#owner"></query>
  </iq>
</body> 
//No Respons

but with user@host/resource I do get the form back from the server.

I.E.

<body rid="102798866104" xmlns="http://jabber.org/protocol/httpbind" sid="435d5c5b-f2fc-4eed-b2d6-1ee5762c7756">
  <iq from="user@host/resource" to="room@muc" type="get" xmlns="jabber:client" id="6599:sendIQ">
    <query xmlns="http://jabber.org/protocol/muc#owner"></query>
  </iq>
</body>
//Receive Response 

I have attached the log,

I noticed there are quite a few:

FINEST: Still no comp name matches:

FINEST: None compId matches:

although I am not sure what it means.

Also, is there any resources on explaining what these logs mean?

(1-25/28)