2013-04-02 2 views
1

오늘 아침 복잡한 문제가 발생했습니다. XMPP를 사용하여 채팅 응용 프로그램을 만들고 있습니다. 로그인이 성공하고 사용자와 채팅 할 수 있습니다.UserSearchManager에서 XMPP 서비스를 사용할 수 없음 (503) 오류

이제 XMPP 서버에서 사용자를 검색하고 싶습니다.

UserSearchManager usm = new UserSearchManager(connection); 
Form searchForm = usm.getSearchForm("search."+connection.getServiceName()); 
Form answerForm = searchForm.createAnswerForm(); 
answerForm.setAnswer("Username", true); 
answerForm.setAnswer("search", "[email protected]"); 
ReportedData data = usm.getSearchResults(answerForm, "search."+connection.getServiceName()); 
System.out.println("data is "+data); 

또 하나의 점 - :하지만 오류를 서비스를 사용할 수 없습니다 (503)

이 내 코드를 얻었다. 내가 getSearchServices()http://www.igniterealtime.org/builds/smack/docs/3.2.2/javadoc/org/jivesoftware/smackx/search/UserSearchManager.html#getSearchServices() 방문하여 사용할 때. 나는 의 값이입니다.

이 코드를했다 : -

UserSearchManager usm = new UserSearchManager(connection); 
System.out.println(usm.getSearchServices().size()); 

내 XMPP 서버에서 사전 검색 플러그인을 설치해야합니다. 여전히 출력이 0입니다. serach는 @를 사용하지 않는 경우

답변

0

는이

answerForm.setAnswer("search", "rahul");

+0

여전히 가지고 같은 오류와 같은 이름을 입력합니다! – user2160008

+0

코드를 묶었습니다. 그것은 나를 위해 일합니다. 코드 및 사용 된 모든 버전에 공급자를 추가하고 있습니까? – AwadKab

+0

Sry 나는하지 않았다. 내 연결 코드입니다. ** 문자열 호스트 = "xxx.xxx.xxx.xxx"; \t \t String port = "5222"; \t \t String service = "xxx.xxx.xxx.xxx"; \t \t 문자열 사용자 이름 = "xxx"; \t \t String password = "xxx"; ConnectionConfiguration connConfig = new ConnectionConfiguration (host, Integer.parseInt (port), service); connection = 새 XMPPConnection (connConfig); connection.connect(); connection.login (사용자 이름, 암호); 현재 상태 = 새로운 상태 (Presence.Type.available); \t \t connection.sendPacket (presence); ** – user2160008

관련 문제