The last problem indicates you have 5080 port closed. You can simply change the configuration to avoid that. 30.03.2013 6:33 пользователь "Ron Sun" <[email protected]> написал:
> Thanks very much first. > > The document upload works if I login to a room without SOAP. I mean > document like pdf or jpg works, but ppt seems have some problem. It does > not matter, right? > > If there are already exist any files in the room on whiteboard, SOAP > clients join room and get an error: > > onerror SWF!! canvas.mediaerrortimeout exceeded for > > http://localhost:5080/openmeetings/DownloadHandler?fileName=14f8b355ceb630a0bc3f26f4d9d54a2b%2Eswf&moduleName=videoconf1&parentPath=%2F14f8b355ceb630a0bc3f26f4d9d54a2b%2F&room_id=files&sid=20255704177e883fc3b0727b0357ef39 > > where is the problem? > > > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: 2013年3月30日 5:44 > To: dev > Subject: Re: login using SOAP API whiteboard don't work. > > It is likely that the error has nothing todo with the SOAP login. > Does the document upload work if you login to a room without SOAP ? > > Sebastian > > > 2013/3/29 ron sun <[email protected]> > > > I'm not sure whether I said my problem clearly. So I try to make it > > clear in this reply. > > > > I am using openmeetings_2_0. I have written a Java client to use SOAP > api. > > My intent is to automatically log the user in a specific room. My Java > > code performs follwoing steps: > > 1. getSession > > 2. loginUser > > 3. SetUserObjectAndGenerateRoomHash > > 4.http://localhost:5080/openmeetings/ > > > > main.as3.swf11.swf?secureHash=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&language > > =11&lz > > proxied=solo&lc_SID=139032 > > > > Step 3 return the secureHash which is used in step 4. The user can > > login the room, and both voice and video work fine, but the whiteboard > > cannot work. > > HTTP-ERROR:500 when load a pdf to whiteboard. Audience cannot see > > share doc on whiteboard which create in > http://localhost:5080/openmeetingsentrance . > > > > I see some bloges about this, but none works. > > > > I hope people see this letter help me. > > > > Thanks in advance. > > > > > > And all codes are in my first letter. > > com.ron.openmeetings.util. meetingManager return the secureHash URL. > > Calling Com.ron.openmeetings.servlet.Room can automatically log the > > user in a specific room. > > > > > > -----Original Message----- > > From: ron sun [mailto:[email protected]] > > Sent: 2013年3月28日 17:22 > > To: [email protected] > > Subject: login using SOAP API whiteboard don't work. > > > > Hi all, > > I'm using openmeetnis 2.0. > > I want my client directly enter the conference room by using SOAP API. > > > > > > > > /**********************************utility**************************** > > ****** > > / > > package com.ron.openmeetings.util; > > > > import javax.servlet.http.HttpServletRequest; > > import javax.servlet.http.HttpServletResponse; > > > > import org.apache.openmeetings.axis.services.UserServiceStub; > > import > > org.apache.openmeetings.axis.services.UserServiceStub.GetSession; > > import > > org.apache.openmeetings.axis.services.UserServiceStub.GetSessionRespon > > se; import > > org.apache.openmeetings.axis.services.UserServiceStub.LoginUser; > > import > > org.apache.openmeetings.axis.services.UserServiceStub.LoginUserRespons > > e; > > import > > > > org.apache.openmeetings.axis.services.UserServiceStub.SetUserObjectAnd > > Genera > > teRoomHash; > > import > > > > org.apache.openmeetings.axis.services.UserServiceStub.SetUserObjectAnd > > Genera > > teRoomHashResponse; > > > > public class meetingManager{ > > > > public static String generateSecureLoginUrl(String userName, > > int roomId){ > > try { > > //generate sessionId > > UserServiceStub userServiceStub = new > > UserServiceStub(" > > http://192.168.202.14:5080/openmeetings/services/UserServic > > e"); > > GetSession getSession = new GetSession(); > > GetSessionResponse session = > > userServiceStub.getSession(getSession); > > String sessionId = > > session.get_return().getSession_id(); > > // log.debug("Meeting SessionId:" + > > sessionId); > > > > LoginUser loginUser = new LoginUser(); > > loginUser.setSID(sessionId); > > loginUser.setUsername("admin"); > > loginUser.setUserpass("pass"); > > LoginUserResponse loginUserResponse = > > userServiceStub.loginUser(loginUser); > > long loginResult = > > loginUserResponse.get_return(); > > // log.debug("Meeting LoginResult:" + > > loginResult); > > if(loginResult < 0){ > > return null; > > } > > //secure room hash > > SetUserObjectAndGenerateRoomHash > > userObjectAndGenerateRoomHash = new > > SetUserObjectAndGenerateRoomHash(); > > > > userObjectAndGenerateRoomHash.setSID(sessionId); > > > > userObjectAndGenerateRoomHash.setUsername(userName); > > > > userObjectAndGenerateRoomHash.setFirstname(userName); > > > > userObjectAndGenerateRoomHash.setLastname(""); > > > > userObjectAndGenerateRoomHash.setProfilePictureUrl(""); > > > > userObjectAndGenerateRoomHash.setEmail(""); > > > > userObjectAndGenerateRoomHash.setExternalUserId(""); > > > > userObjectAndGenerateRoomHash.setExternalUserType(""); > > > > userObjectAndGenerateRoomHash.setRoom_id(roomId); > > > > userObjectAndGenerateRoomHash.setBecomeModeratorAsInt(0); > > > > userObjectAndGenerateRoomHash.setShowAudioVideoTestAsInt(1); > > > > SetUserObjectAndGenerateRoomHashResponse > > userObjectAndGenerateRoomHashResponse = > > > > userServiceStub.setUserObjectAndGenerateRoomHash(userObjectAndGenerate > > RoomHa > > sh); > > String roomHash = > > userObjectAndGenerateRoomHashResponse.get_return(); > > // log.debug("Meeting secure roomHash:" + > > roomHash); > > String ssoUrl = > > "http://192.168.202.14:5080/openmeetings/main.as3.swf11.swf?secureHash=" > > + > > roomHash + "&language=11&lzproxied=solo&lc_SID=139032"; > > // log.debug("Final secure login url:" + > > ssoUrl); > > return ssoUrl; > > }catch(Exception e) { > > // log.error(e.getMessage(),e); > > // throw new TSharkException(e); > > } > > return null; > > } > > > > } > > > > > > /************************servlet*********************************/ > > package com.ron.openmeetings.servlet; > > > > import java.io.IOException; > > import javax.servlet.ServletConfig; > > import javax.servlet.ServletException; import > > javax.servlet.http.HttpServlet; import > > javax.servlet.http.HttpServletRequest; > > import javax.servlet.http.HttpServletResponse; > > > > import com.ron.openmeetings.util.meetingManager; > > > > /** > > * Servlet implementation class Room > > */ > > public class Room extends HttpServlet { > > private static final long serialVersionUID = 1L; > > > > /** > > * @see HttpServlet#HttpServlet() > > */ > > public Room() { > > super(); > > // TODO Auto-generated constructor stub > > } > > > > /** > > * @see Servlet#init(ServletConfig) > > */ > > public void init(ServletConfig config) throws ServletException { > > // TODO Auto-generated method stub > > } > > > > /** > > * @see Servlet#destroy() > > */ > > public void destroy() { > > // TODO Auto-generated method stub > > super.destroy(); > > } > > > > /** > > * @see HttpServlet#doGet(HttpServletRequest request, > > HttpServletResponse response) > > */ > > protected void doGet(HttpServletRequest request, > > HttpServletResponse > > response) throws ServletException, IOException { > > // TODO Auto-generated method stub > > doPost(request,response); > > } > > > > /** > > * @see HttpServlet#doPost(HttpServletRequest request, > > HttpServletResponse response) > > */ > > protected void doPost(HttpServletRequest request, > > HttpServletResponse response) throws ServletException, IOException { > > // TODO Auto-generated method stub > > try{ > > room(request, response); > > }catch(Exception e){ > > > > } > > > > } > > > > > > // @RequestMapping(value = "/room/admin") > > public void room(HttpServletRequest request, > > HttpServletResponse > > response) throws Exception { > > // String roomId = request.getParameter("roomId"); > > > > // String roomSecureLoginUrl = > > meetingManager.generateSecureLoginUrl("renjiao", > Integer.valueOf(roomId)); > > String roomSecureLoginUrl = > > meetingManager.generateSecureLoginUrl("renjiao", 6); > > response.sendRedirect(roomSecureLoginUrl); > > } > > > > } > > > > > > Everything goes correctly except whiteboad don't work. > > > > I search on the internet and find it's a bug. > > On WebContent/src/modules/conference/commonVideoComponentAdapter.lzx, > > On line 37, it reads "//FIXME: Throws a Null Pointer Exception if the > > parent view was already destroyed > > > > Someone suggests modify method reconnectSuccess, like this: > > <method name="reconnectSuccess" args="isInterview"> > > if ($debug) Debug.write("Send reconnectSuccess to > > ",canvas.rtmp_lc_name); > > canvas.sendViaLocalConnection(canvas.rtmp_lc_name, > > "reconnectSuccess", [canvas.thishib.src, canvas.publicSID, > hib.userobject, isInterview]); > > //add secure remote login > > if(canvas.secureRemoteUserLogin){ > > if ($debug) Debug.write("as3ConnectionSuccess invoke: ",""); > > this.parent.as3ConnectionSuccess();//using SOAP API login, > > miss this. > > } > > </method> > > > > It doesn't work and cause other error. How to fix it? > > > > > > Thanks a lot! > > > > Ron Sun. > > > > > > > > > -- > Sebastian Wagner > https://twitter.com/#!/dead_lock > http://www.webbase-design.de > http://www.wagner-sebastian.com > [email protected] > >
