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]

Reply via email to