Thanks for your reply.
When upload a document to whiteboard, jump HTTP ERROR:500 after upload finished.
Error can read on console. That is below:
DEBUG 03-30 16:02:45.566 AbstractUploadController.java 14471244 58
org.apache.openmeetings.servlet.outputhandler.AbstractUploadController
[http-bio-0.0.0.0-5080-exec-1] - Starting validate
DEBUG 03-30 16:02:45.567 AbstractUploadController.java 14471245 65
org.apache.openmeetings.servlet.outputhandler.AbstractUploadController
[http-bio-0.0.0.0-5080-exec-1] - sid: 524b18e8ff56923286c6aefeb6cd646a
DEBUG 03-30 16:02:45.588 AbstractUploadController.java 14471266 69
org.apache.openmeetings.servlet.outputhandler.AbstractUploadController
[http-bio-0.0.0.0-5080-exec-1] - userId = 0, userLevel = -1
Mar 30, 2013 4:02:45 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [spring-mvc] in context with path
[/openmeetings] threw exception [Insufficient permissions -1] with root cause
javax.servlet.ServletException: Insufficient permissions -1
at
org.apache.openmeetings.servlet.outputhandler.AbstractUploadController.validate(AbstractUploadController.java:74)
at
org.apache.openmeetings.servlet.outputhandler.UploadController.handleFileUpload(UploadController.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
[ERROR] [http-bio-0.0.0.0-5080-exec-1]
org.apache.catalina.core.ContainerBase.[red5Engine].[0.0.0.0].[/openmeetings].[spring-mvc]
- Servlet.service() for servlet [spring-mvc] in context with path
[/openmeetings] threw exception [Insufficient permissions -1] with root cause
javax.servlet.ServletException: Insufficient permissions -1
at
org.apache.openmeetings.servlet.outputhandler.AbstractUploadController.validate(AbstractUploadController.java:74)
~[openmeetings-2.1.0-SNAPSHOT.jar:na]
at
org.apache.openmeetings.servlet.outputhandler.UploadController.handleFileUpload(UploadController.java:77)
~[openmeetings-2.1.0-SNAPSHOT.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.6.0_38]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
~[na:1.6.0_38]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_38]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_38]
at
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
~[spring-web-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
~[org.springframework.web.servlet-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
~[red5.jar:na]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
~[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
[na:1.6.0_38]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
[na:1.6.0_38]
at java.lang.Thread.run(Thread.java:662) [na:1.6.0_38]
-----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]