The openmeetings server and SOAP login access server both run on the same host, and soap client is on the same host. I login to a room without SOAP from another host. It's in my test enviroment. I change localhost to ip address, nothing changes.
Ron -----Original Message----- From: [email protected] [mailto:[email protected]] Sent: 2013年3月30日 11:37 To: dev Subject: Re: login using SOAP API whiteboard don't work. When you integrate your application into some other host, of course you can't run OpenMeetings via "localhost". I mean the SOAP interface might be reachable from the SOAP WebService via "localhost", but for any other user this URL will just point to his own host/computer/device. So use the correct URL to load the SWF into the client, the one that you would use to externally access OpenMeetings. Sebastian 2013/3/30 Alexei Fedotov <[email protected]> > 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=14f8b355ce > b630a0bc3f26f4d9d54a2b%2Eswf&moduleName=videoconf1&parentPath=%2F14f8b > 355ceb630a0bc3f26f4d9d54a2b%2F&room_id=files&sid=20255704177e883fc3b07 > 27b0357ef39 > > > > 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&lang > > > uage > > > =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.GetSessionRe > > > spon > > > se; import > > > org.apache.openmeetings.axis.services.UserServiceStub.LoginUser; > > > import > > > org.apache.openmeetings.axis.services.UserServiceStub.LoginUserRes > > > pons > > > e; > > > import > > > > > > org.apache.openmeetings.axis.services.UserServiceStub.SetUserObjec > > > tAnd > > > Genera > > > teRoomHash; > > > import > > > > > > org.apache.openmeetings.axis.services.UserServiceStub.SetUserObjec > > > tAnd > > > 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(userObjectAndGene > > > rate > > > 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] > > > > > -- Sebastian Wagner https://twitter.com/#!/dead_lock http://www.webbase-design.de http://www.wagner-sebastian.com [email protected]
