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

Reply via email to