简体   繁体   中英

XMPP client Not connecting - using Node Bosh server

I'm trying to create a facebook/gtalk custom chat window. Already created a Facebook application with the xmpp_login permission and approved it by my user.

I'm using the following:

  1. node-xmpp-bosh
  2. jquery.xmpp.js

when I'm using the basic example provided, I can login to gmail with my credentials, but not to facebook. And when I change the BOSH server from http://bosh.metajack.im:5280/xmpp-httpbind -> to my own I can't connect to none.

Here is the response I get from gmail from the example server:

<body xmlns='http://jabber.org/protocol/httpbind' inactivity='60' secure='true' authid='C410DDF349E5D6E4'
      content='text/xml; charset=utf-8' window='3' polling='15' sid='d97ad59c8741b5c97fc5d267cf9fa6d8' requests='2'
      wait='60'>
<stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'>
    <mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
        <mechanism>PLAIN</mechanism>
        <mechanism>X-GOOGLE-TOKEN</mechanism>
        <mechanism>X-OAUTH2</mechanism>
    </mechanisms>
</stream:features>
</body>

and here is what I get from my own BOSH server

<body xmlns="http://jabber.org/protocol/httpbind" stream="7b7a5898-7d44-4459-b135-25d56db49f63"
      sid="66aec966-aba0-4021-b728-ae1879caee3a" wait="60" ver="1.6" polling="35" inactivity="70" requests="2" hold="1"
      from="gmail.com" content="text/xml; charset=utf-8" xmpp:restartlogic="true" xmlns:xmpp="urn:xmpp:xbosh"
      window="2">
</body>

What am I missing, and is there any other steps I need to take before connecting to facebook?

Update


Found an example for Facebook+Node chat by kissrobber I got it running on my local machine, but I still get an error when trying to connect with strophe.js.

I get an "item-not-found" response, according to XMPP.org the reason could be one of the following:

  1. 'sid' is not valid
  2. 'stream' is not valid
  3. 'rid' is larger than the upper limit of the expected window
  4. connection manager is unable to resend response
  5. 'key' sequence is invalid

Update


Here are strophe.js logs using:

  • punjab
  • Node js XMPP
  • Node js XMPP with pidgin_compatible: true

punjab log


Connecting status -> [1, null] facebook.html:24
Strophe is connecting. facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: request id 1.0 posting facebook.html:20
LOG: request id 1.0 state changed to 1 facebook.html:20
SEND: <body rid='765843050' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20
Connecting status -> [1, null] facebook.html:24
Strophe is connecting. facebook.html:20
LOG: _throttledRequestHandler called with 2 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 2.0 posting facebook.html:20
LOG: request id 2.0 state changed to 1 facebook.html:20
SEND: <body rid='765843051' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20
LOG: request id 2.1 state changed to 2 facebook.html:20
LOG: request id 2.1 state changed to 3 facebook.html:20
LOG: request id 2.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 2 should now be removed facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 2.1 got 200 facebook.html:20
LOG: _connect_fb was called facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind' inactivity='60' secure='true' authid='89141C54' content='text/xml; charset=utf-8' window='3' polling='15' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701' requests='2' wait='60'><stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>X-FACEBOOK-PLATFORM</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features></body> facebook.html:20
Connecting status -> [3, null] facebook.html:24
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 3.0 posting facebook.html:20
LOG: request id 3.0 state changed to 1 facebook.html:20
SEND: <body rid='765843052' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='X-FACEBOOK-PLATFORM'/></body> facebook.html:20
LOG: request id 3.1 state changed to 2 facebook.html:20
LOG: request id 3.1 state changed to 3 facebook.html:20
LOG: request id 3.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 3 should now be removed facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 3.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>dmVyc2lvbj0xJm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9QjRGRjZBOTNDQUFENjlCMjYxQzkzNDczQjE5NUUwMDU=</challenge></body> facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 4.0 posting facebook.html:20
LOG: request id 4.0 state changed to 1 facebook.html:20
SEND: <body rid='765843053' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>YXBpX2tleT0zMzE1MzAyNzM1ODg1OTAmY2FsbF9pZD0xMzQzNzIzNzY5Jm1ldGhvZD1hdXRoLnhtcHBfbG9naW4mbm9uY2U9QjRGRjZBOTNDQUFENjlCMjYxQzkzNDczQjE5NUUwMDUmYWNjZXNzX3Rva2VuPUFBQUV0aG1nd2hXNEJBRTRkUHVubVRqOUJoV0V1WkN3WFpBUVBkYnFJSG9yUGRFNkdxUnhxSldvWkJLUHM2VmNqbUJSbnlWUGlFaG9BdDBLYmdLa2xpV0pQVWRmd3VCNENPcklwWkFkck9RWkRaRCZ2PTEuMA==</response></body> facebook.html:20
LOG: request id 4.1 state changed to 2 facebook.html:20
LOG: request id 4.1 state changed to 3 facebook.html:20
LOG: request id 4.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 4 should now be removed facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 4.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/></body> facebook.html:20
LOG: SASL authentication succeeded. facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 5.0 posting facebook.html:20
LOG: request id 5.0 state changed to 1 facebook.html:20
SEND: <body rid='765843054' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701' to='chat.facebook.com' xml:lang='en' xmpp:restart='true' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20
LOG: request id 5.1 state changed to 2 facebook.html:20
LOG: request id 5.1 state changed to 3 facebook.html:20
LOG: request id 5.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 5 should now be removed facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 5.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></stream:features></body> facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 6.0 posting facebook.html:20
LOG: request id 6.0 state changed to 1 facebook.html:20
SEND: <body rid='765843055' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><iq type='set' id='_bind_auth_2' xmlns='jabber:client'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'/></iq></body> facebook.html:20
LOG: request id 6.1 state changed to 2 facebook.html:20
LOG: request id 6.1 state changed to 3 facebook.html:20
LOG: request id 6.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 6 should now be removed facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 6.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' type='result' id='_bind_auth_2'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>-626048146@chat.facebook.com/168823c4_4C61C1205A1E5</jid></bind></iq></body> facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 7.0 posting facebook.html:20
LOG: request id 7.0 state changed to 1 facebook.html:20
SEND: <body rid='765843056' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><iq type='set' id='_session_auth_2' xmlns='jabber:client'><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq></body> facebook.html:20
LOG: request id 7.1 state changed to 2 facebook.html:20
LOG: request id 7.1 state changed to 3 facebook.html:20
LOG: request id 7.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 7 should now be removed facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 7.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' type='result' id='_session_auth_2'><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq></body> facebook.html:20
Connecting status -> [5, null] facebook.html:24
Strophe is connected. facebook.html:20
Send a message to -626048146@chat.facebook.com/168823c4_4C61C1205A1E5 to talk to me. facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 8.0 posting facebook.html:20
LOG: request id 8.0 state changed to 1 facebook.html:20
SEND: <body rid='765843057' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><presence xmlns='jabber:client'/></body> facebook.html:20
LOG: request id 8.1 state changed to 2 facebook.html:20
LOG: request id 8.1 state changed to 3 facebook.html:20
LOG: request id 8.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 8 should now be removed facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 8.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-744782602@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>fe60b81022f853cc7feb596f443885e90f6631fe</photo></x></presence></body> facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: Request 1 timed out (secondary), restarting facebook.html:20
LOG: request id 1.1 state changed to 4 facebook.html:20
LOG: request id 9.1 posting facebook.html:20
LOG: request id 9.1 state changed to 1 facebook.html:20
SEND: <body rid='765843050' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20
LOG: request id 9.2 state changed to 2 facebook.html:20
LOG: request id 9.2 state changed to 3 facebook.html:20
LOG: request id 9.2 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 0 requests facebook.html:20
LOG: request id 9 should now be removed facebook.html:20
LOG: request id 9.2 got 200 facebook.html:20
LOG: _connect_fb was called facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind' inactivity='60' secure='true' authid='CE3FA949' content='text/xml; charset=utf-8' window='3' polling='15' sid='bb0248e53bf29aa66162aa2884e08ec3d6c2302a' requests='2' wait='60'><stream:features xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>X-FACEBOOK-PLATFORM</mechanism><mechanism>DIGEST-MD5</mechanism></mechanisms></stream:features></body> facebook.html:20
Connecting status -> [3, null] facebook.html:24
LOG: _throttledRequestHandler called with 0 requests facebook.html:20
LOG: request id 10.0 posting facebook.html:20
LOG: request id 10.0 state changed to 1 facebook.html:20
SEND: <body rid='765843058' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='X-FACEBOOK-PLATFORM'/></body> facebook.html:20
LOG: request id 10.1 state changed to 2 facebook.html:20
LOG: request id 10.1 state changed to 3 facebook.html:20
LOG: request id 10.1 state changed to 3 facebook.html:20
LOG: request id 10.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 0 requests facebook.html:20
LOG: request id 10 should now be removed facebook.html:20
LOG: request id 10.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-635374690@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>98addc5cda3a34a0ecd0b9e09ae900eddcbbb8ea</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-1009827716@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>105af5c5b0c5f028d93dca6e37f2c174dc4a62a5</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-1021952545@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>e5d4693f8712d828f1b18d61e7f138511fc04968</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-503274069@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>6c235c1472d7b370771182085f9d0983b980e8b7</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-573139239@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>2f36c33ac86713a73a910db55f9ecac00e19ae63</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-539881693@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>eea1e5844ad62abad6043a39e8a3d66619490360</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-100000177388719@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>af784e43277ded69c16dcc02bffec6bf883b6e71</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-549474003@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>da16587560467f05f8b97810cbe0c59c01a1fb7c</photo></x></presence><presence xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='-1366794447@chat.facebook.com'><x xmlns='vcard-temp:x:update'><photo>5177a3daefecf3f2d5cac28809f8186ff3168ca8</photo></x></presence></body> facebook.html:20
LOG: no requests during idle cycle, sending blank request facebook.html:20
LOG: request id 11.0 posting facebook.html:20
LOG: request id 11.0 state changed to 1 facebook.html:20
SEND: <body rid='765843059' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'/> facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
I sent -100000177388719@chat.facebook.com: TEST MESSAGE facebook.html:20
LOG: request id 12.0 posting facebook.html:20
LOG: request id 12.0 state changed to 1 facebook.html:20
SEND: <body rid='765843060' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'><message to='-100000177388719@chat.facebook.com' type='chat' xmlns='jabber:client'><body>TEST MESSAGE</body></message></body> facebook.html:20
LOG: request id 11.1 state changed to 2 facebook.html:20
LOG: request id 11.1 state changed to 3 facebook.html:20
LOG: request id 11.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 11 should now be removed facebook.html:20
LOG: request id 11.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'/> facebook.html:20
LOG: request id 12.1 state changed to 2 facebook.html:20
LOG: request id 12.1 state changed to 3 facebook.html:20
LOG: request id 12.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 0 requests facebook.html:20
LOG: request id 12 should now be removed facebook.html:20
LOG: request id 12.1 got 200 facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind'><iq xmlns='jabber:client' to='-626048146@chat.facebook.com/168823c4_4C61C1205A1E5' from='chat.facebook.com' id='fbiq4C61C13A7D2DD' type='set'><own-message xmlns='http://www.facebook.com/xmpp/messages' to='-100000177388719@chat.facebook.com' self='true'><body>TEST MESSAGE</body></own-message></iq></body> facebook.html:20
LOG: no requests during idle cycle, sending blank request facebook.html:20
LOG: request id 13.0 posting facebook.html:20
LOG: request id 13.0 state changed to 1 facebook.html:20
SEND: <body rid='765843061' xmlns='http://jabber.org/protocol/httpbind' sid='cb26009594cffefe0fe73cf4733ac2f7c8522701'/>

NODE log


Connecting status -> [1, null] facebook.html:24
Strophe is connecting. facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: request id 1.0 posting facebook.html:20
LOG: request id 1.0 state changed to 1 facebook.html:20
SEND: <body rid='627577970' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20
Connecting status -> [1, null] facebook.html:24
Strophe is connecting. facebook.html:20
LOG: _throttledRequestHandler called with 2 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 2.0 posting facebook.html:20
LOG: request id 2.0 state changed to 1 facebook.html:20
SEND: <body rid='627577971' xmlns='http://jabber.org/protocol/httpbind' to='chat.facebook.com' xml:lang='en' wait='60' hold='1' content='text/xml; charset=utf-8' ver='1.6' xmpp:version='1.0' xmlns:xmpp='urn:xmpp:xbosh'/> facebook.html:20
LOG: request id 1.1 state changed to 2 facebook.html:20
LOG: request id 1.1 state changed to 3 facebook.html:20
LOG: request id 1.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 1 should now be removed facebook.html:20
LOG: request id 1.1 got 200 facebook.html:20
LOG: _connect_fb was called facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh' stream='fc2182d8-124c-432f-aff0-bf8f58cd580d' sid='c8a300fc-28b7-49cc-8373-a8b3db5f894b' wait='60' ver='1.6' polling='35' inactivity='70' requests='2' hold='1' from='chat.facebook.com' content='text/xml; charset=utf-8' xmpp:restartlogic='true' window='2'/> facebook.html:20
LOG: _throttledRequestHandler called with 2 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 3.0 posting facebook.html:20
LOG: request id 3.0 state changed to 1 facebook.html:20
SEND: <body rid='627577972' xmlns='http://jabber.org/protocol/httpbind' sid='c8a300fc-28b7-49cc-8373-a8b3db5f894b'/> facebook.html:20
LOG: request id 2.1 state changed to 2 facebook.html:20
LOG: request id 2.1 state changed to 3 facebook.html:20
LOG: request id 2.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 2 should now be removed facebook.html:20
LOG: request id 2.1 got 200 facebook.html:20
LOG: _connect_fb was called facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind' xmlns:xmpp='urn:xmpp:xbosh' stream='0739f763-51dc-4fa6-ae73-9c422898f8df' sid='f168a14f-c4e4-4796-b815-69cacddb82a2' wait='60' ver='1.6' polling='35' inactivity='70' requests='2' hold='1' from='chat.facebook.com' content='text/xml; charset=utf-8' xmpp:restartlogic='true' window='2'/> facebook.html:20
LOG: _throttledRequestHandler called with 2 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 4.0 posting facebook.html:20
LOG: request id 4.0 state changed to 1 facebook.html:20
SEND: <body rid='627577973' xmlns='http://jabber.org/protocol/httpbind' sid='c8a300fc-28b7-49cc-8373-a8b3db5f894b'/> facebook.html:20
LOG: request id 3.1 state changed to 2 facebook.html:20
LOG: request id 3.1 state changed to 3 facebook.html:20
LOG: request id 3.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 1 requests facebook.html:20
LOG: _processRequest: first request has readyState of 1 facebook.html:20
LOG: request id 3 should now be removed facebook.html:20
LOG: request id 3.1 got 200 facebook.html:20
LOG: _connect_fb was called facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind' condition='item-not-found' type='terminate'/> facebook.html:20
Connecting status -> [2, "item-not-found"] facebook.html:24
       ERR:[Strophe failed to connect!!!] - Strophe.Status.CONNFAIL facebook.html:20
LOG: User connection callback caused an exception: TypeError: Cannot set property 'value' of undefined facebook.html:20
LOG: request id 4.1 state changed to 2 facebook.html:20
LOG: request id 4.1 state changed to 3 facebook.html:20
LOG: request id 4.1 state changed to 4 facebook.html:20
LOG: removing request facebook.html:20
LOG: _throttledRequestHandler called with 0 requests facebook.html:20
LOG: request id 4 should now be removed facebook.html:20
LOG: request id 4.1 got 200 facebook.html:20
LOG: _connect_fb was called facebook.html:20
RECV: <body xmlns='http://jabber.org/protocol/httpbind' condition='item-not-found' message='Invalid packet' type='terminate'/> facebook.html:20
Connecting status -> [2, "item-not-found"] facebook.html:24
       ERR:[Strophe failed to connect!!!] - Strophe.Status.CONNFAIL facebook.html:20
LOG: User connection callback caused an exception: TypeError: Cannot set property 'value' of undefined

After more then a week of struggle I got it to work, I switched to punjab instead of the node server and all works fine. so basically the structure is:

Strophe.js <-> Apache (proxy) <-> punjab <-> Facebook XMPP server

Author of node-xmpp-bosh here.

Try running the server with pidgin_compatible: true (in the config file).

It's probably a bug in jquery.xmpp.js which doesn't handle the case when the bosh server sends an empty body as the 1st response instead of a <stream:features/> packet. According to the BOSH spec, both are valid. You can try filing a bug with the jquery.xmpp.js project. node-xmpp-bosh should work with strophe.js though. If it doesn't, you may file a bug.

LOG: request id 4.0 posting 

LOG: request id 4.0 state changed to 1 SEND: Problem looks in this packet.Here should be Auth Request but its empty request.

->Try to get latest revision.
->And make sure what method you're calling "facebookConnect = function (jid, callback, wait, hold, apiKey, accessToken)"
-> should be call this method.

function login() {
    FB.getLoginStatus(function(response) {
      if (response.authResponse) {
        connection.facebookConnect(
            response.authResponse.userId + "@chat.facebook.com/test", 
            onConnect, 
            60,
            1, 
            FB._apiKey,
            response.authResponse.accessToken);
        FB.api('/me/friends', function(response) {
            var to = $("#to");
            to.empty();
          $.each(response.data, function(i,v){
            to.append($("<option value='" + v.id + "'>" + v.name + "</option>"));
          });
        });

      } else {
       connection.disconnect();
      }
    });
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM