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 <sun...@live.com> > 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:sun...@live.com] > Sent: 2013年3月28日 17:22 > To: dev@openmeetings.apache.org > 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.GetSessionResponse; > import org.apache.openmeetings.axis.services.UserServiceStub.LoginUser; > import > org.apache.openmeetings.axis.services.UserServiceStub.LoginUserResponse; > import > > org.apache.openmeetings.axis.services.UserServiceStub.SetUserObjectAndGenera > teRoomHash; > import > > org.apache.openmeetings.axis.services.UserServiceStub.SetUserObjectAndGenera > 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(userObjectAndGenerateRoomHa > 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 seba.wag...@gmail.com