2012-12-03 1 views
4

웹을 통해 XMPP 클라이언트를 만들 수 있도록 Openfire를 통한 BOSH 연결을 설정하려고합니다. curretly 난 strophe.js와 함께 테스트입니다. 내가 오류openfire에서 http-bind 사용

여기
HTTP ERROR 400 


    Problem accessing /http-bind/. Reason: 

     Bad Request 
    Powered by Jetty:// 

내 서버 설정은, 내가 몇 스레드를 보았다 그러나 그들은 도움이 arent 다음

http://www.mydomain.com:7070/http-bind 

을 얻고 브라우저에서 URL을 다음 발사 할 때

문제입니다

enter image description here

갱신

내가 좌향 선회를 사용하여 연결을 만들었습니다하지만 난

enter image description here

답변

2

업데이트에서 Strophe는 OPTIONS HTTP 요청을 보내므로 도메인 간 통신을 협상합니다. 요청은 빨간색으로 표시되어 어떤 이유로 든 실패합니다. 아마도 잘못 구성된 것 같습니다. 여기에 대한 유용한 기사가 있습니다. http://metajack.im/2010/01/19/crossdomain-ajax-for-xmpp-http-binding-made-easy/

그렇지 않으면 Strophe가 정기적 인 BOSH 통신을 수행 할 때 POST 방법을 사용합니다.

0

귀하의 설정이 올바른지 브라우저 무아 지경에 다음과 같은 오류를 얻고있다. 브라우저가 사용자에게 표시하는 페이지도 정상입니다. Openfires BOSH 구성 요소는 HTTP GET을 사용하는 브라우저에서 작동하도록 설계되지 않았으며 스트로브와 같은 BOSH 클라이언트에서만 작동합니다. strophe와 연결해보십시오.

+0

어떤 브라우저를 사용하십니까? 브라우저가 도메인 간 요청을 허용하는지 확인하십시오. – Alex

+0

크롬, 구글 크롬 – Hunt

0

요청을 openfire 서버에 다시 게시하려면 proxy를 사용해야합니다. 왜냐하면 js 게시물은 크로스 도메인을 지원할 수 없기 때문입니다.

Notes :
1. jsjac을 사용합니다. 그러나 중요한 것은 아니라고 생각합니다.
2. 설정이 맞다면 openfire 서버를 다시 시작하십시오. 내 경험이야.

6

이제 내 시스템에서 작동합니다.

오류가 발생했습니다 실제로 openfire 구성 문제가있을 수 있습니다 생각합니다.

요청에 요소가 없으면 HTTP 400 잘못된 요청으로 응답하도록 설계되었습니다. 쿼리에 요소를 제공하여 직접 테스트 할 수 있습니다.

브라우저에서 다음 URL을 시도 : 서버가 제대로 구성되어있는 경우

http://www.servername:7070/http-bind/?<body rid="1"/> 
+0

이것은 서버가 작동하는지 테스트하기 위해 나를 위해 일했습니다.본문 요소없이 400 오류가 발생합니다. 요소를 사용하면 BOSH 객체를 다시 얻을 수 있습니다. 또한 해당 링크를 탐색하여 작동합니다. – Rarw

0

그것이 내가 제거 할 때 잘못된 요청이 사라졌다

HTTP ERROR: 404 

Problem accessing /http-bind/. Reason: 

    Not Found 
Powered by Jetty:// 

표시하고 here에로의 Openfire를 다시 설치해야합니다.