2016-07-23 2 views
0

openfire xmpp 프로토콜을 처음 사용했습니다. chatroom을 성공적으로 만들었습니다. 이제 방에서 REST API를 사용하여 방 구성원을 삭제하고 싶습니다. 여기에 언급 된 link을 참조하고 있습니다. 대화방을위한 방 회원 삭제를위한 . 방을 삭제하십시오 openfire 서버를 사용하는 채팅방

@RequestMapping(value = "leaveGroup", headers = {"ACCEPT=*/*"}, method = RequestMethod.POST, produces = "text/plain") 
    public @ResponseBody 
    String leaveGroup(HttpServletRequest request, HttpServletResponse response) { 

     getRestClient(); 
     try { 
      List<String> memberList = restApiClient.getChatRoom("chatrooms").getMembers(); 
      for (String string : memberList) { 
       System.out.println("user::" + string); 
      } 
      // http://example.org:9090/plugins/restapi/v1/chatrooms/chatrooms/members/[email protected] 

      getJsonFromWEBService("http://192.168.168.24:9090/plugins/restapi/v1/chatrooms/chatrooms/members/[email protected]"); 

      //List<String> memberList1 = restApiClient.getChatRoom("chatrooms").getMembers().remove("[email protected]"); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return "leaveGroup"; 
    } 

    public void getJsonFromWEBService(String serviceURL) { 
     URL url; 
     try { 
      System.out.println("serviceURL::" + serviceURL); 
      url = new URL(serviceURL); 
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
      System.out.println("conn::" + conn); 
      conn.setRequestProperty("Authorization", "Basic YWRtaW46MTIzNDU="); 
      conn.setRequestProperty("Content-Type", "application/xml"); 
      conn.setRequestMethod("DELETE"); 
      conn.setDoInput(true); 
      conn.setDoOutput(true); 
      System.out.println("status::"+conn.getResponseCode()); 
      System.out.println("msg::"+conn.getResponseMessage()); 
      System.out.println("req::"+conn.getRequestProperties()); 
      //conn.getOutputStream().write(postDataBytes); 
      conn.disconnect(); 
      System.out.println("end.........................................."); 
     } catch (MalformedURLException ex) { 
      ex.printStackTrace(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 

    } 

나는의 Openfire 콘솔 '로그 파일
2016.07.23 12:14:41 org.jivesoftware.openfire.container.PluginManager - error in opening zip file 
java.util.zip.ZipException: error in opening zip file 
at java.util.zip.ZipFile.open(Native Method) 
at java.util.zip.ZipFile.<init>(ZipFile.java:219) 
at java.util.zip.ZipFile.<init>(ZipFile.java:149) 
at java.util.jar.JarFile.<init>(JarFile.java:166) 
at java.util.jar.JarFile.<init>(JarFile.java:130) 
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.unzipPlugin(PluginManager.java:1069) 
at org.jivesoftware.openfire.container.PluginManager$PluginMonitor.run(PluginManager.java:961) 

어떻게 얻을 수있는이 문제를 해결 여기에 오류

Info: Response status::401 
Info: Response msg::Unauthorized 

있어?

답변

0

이전 버전의 openfire를 사용하는 경우 요청 경로에서 JID를 사용할 수 없습니다. (rajesh3 @ peacock-hp). 대신 rajesh3을 사용해보세요. 그것은이 예를 읽을 가능성이 문서에서

+0

나는 rajesh3를 시도했지만 저에게는 효과가 없었습니다. 나는 openfire 버전을 4.0.2로 사용했다. –

0

: 그것은 "채팅방"라는 채팅방에 "회원"사용자 "rajesh3의 @ 공작 마력"에서 제거의

/chatrooms/{roomName}/{roles}/{name} 

그래서 시도, 내가 돈 ' 이게 효과가 있다고 생각하지 않아!

당신은 채팅방 이름을 (ES : [email protected])가 필요합니다 :

Admin console -> Uppertab: Group Chat -> select the service -> select your chatroom -> on left "Permissions" -> [email protected] must figure out as "member") 

경우 이미이 채팅방의 회원[email protected] 경우 확인하기 전에 모든과를, (오류를 피할 수의 Openfire 관리자 확인 당신은 글로벌 모드에서 rajesh3의 @ 공작 마력을 제거하려면, roomName


편집을 global을 설정 서호주에 의해 y, 오류가 플러그인이 올바르게로드되지 않았다고보고했으나 룸 멤버 삭제 작업에 영향을주지 않습니다.

관련 문제