Hallo Sebastian,
thank you for this information.
I test this one and no entry was added to the table rooms_moderator. The first user, who entered the room via an HashUrl, was automatically the moderator :-(.
So now, I will create a new issue for that.
Here, I have some innovation suggestions for you:
- the calendar didn't show any planned event, better the calendar displays all planned events of the loggedin user.
- only the administrator can see timed rooms at the administration sites. If I remove the timed flag, the rooms are listed in the rooms list. At the time, the room is active, the room didn't listed, too. I'd like to see the rooms in the roomlist.
First, I tried the webservice for creating a moderated room (with sending a HashUrl to the moderator), but the RoomService didn't work correctly for me. UserService works fine for me. I tried to connect to the webservices via apache cxf. And I get the following error:
java.lang.SecurityException: Prohibited package name: java.util.xsd
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:480)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:626)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:177)
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 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:128)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:277)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:342)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:198)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:191)
at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:146)
at de.will.obelisk.confernce.Red5Test.createRoom(Red5Test.java:40)
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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
The logfile from red5:
===============================================================================================================================
DEBUG 03-15 12:19:16.858 MainService.java 3370013 183 org.openmeetings.app.remote.MainService [http-0.0.0.0-5080-1] - :: getsessiondata
:: getsessiondata
startsession :: startsession
DEBUG 03-15 12:19:16.858 Sessionmanagement.java 3370013 71 org.openmeetings.app.data.basic.Sessionmanagement [http-0.0.0.0-5080-1] - startsession :: startsession
DEBUG 03-15 12:19:16.859 ManageCryptStyle.java 3370014 26 org.openmeetings.utils.crypt.ManageCryptStyle [http-0.0.0.0-5080-1] - getInstanceOfCrypt: org.openmeetings.utils.crypt.ManageCryptStyle@29557211
DEBUG 03-15 12:19:16.859 ManageCryptStyle.java 3370014 28 org.openmeetings.utils.crypt.ManageCryptStyle [http-0.0.0.0-5080-1] - getInstanceOfCrypt: org.openmeetings.app.data.basic.Configurationmanagement@28b3cf4a
DEBUG 03-15 12:19:16.859 ManageCryptStyle.java 3370014 33 org.openmeetings.utils.crypt.ManageCryptStyle [http-0.0.0.0-5080-1] - configKeyCryptClassName: org.openmeetings.utils.crypt.MD5Implementation
DEBUG 03-15 12:19:16.928 UserService.java 3370083 52 org.openmeetings.axis.services.UserService [http-0.0.0.0-5080-1] - UserService.loginuser
DEBUG 03-15 12:19:16.936 Usermanagement.java 3370091 236 org.openmeetings.app.data.user.Usermanagement [http-0.0.0.0-5080-1] - debug SIZE: 1
DEBUG 03-15 12:19:16.943 ManageCryptStyle.java 3370098 26 org.openmeetings.utils.crypt.ManageCryptStyle [http-0.0.0.0-5080-1] - getInstanceOfCrypt: org.openmeetings.utils.crypt.ManageCryptStyle@29557211
DEBUG 03-15 12:19:16.944 ManageCryptStyle.java 3370099 28 org.openmeetings.utils.crypt.ManageCryptStyle [http-0.0.0.0-5080-1] - getInstanceOfCrypt: org.openmeetings.app.data.basic.Configurationmanagement@28b3cf4a
DEBUG 03-15 12:19:16.944 ManageCryptStyle.java 3370099 33 org.openmeetings.utils.crypt.ManageCryptStyle [http-0.0.0.0-5080-1] - configKeyCryptClassName: org.openmeetings.utils.crypt.MD5Implementation
INFO 03-15 12:19:16.945 Usermanagement.java 3370100 247 org.openmeetings.app.data.user.Usermanagement [http-0.0.0.0-5080-1] - chsum OK: 1
DEBUG 03-15 12:19:16.945 Sessionmanagement.java 3370100 286 org.openmeetings.app.data.basic.Sessionmanagement [http-0.0.0.0-5080-1] - updateUser User: 1 || 4245bc96a0c34734351f9757315e6769
DEBUG 03-15 12:19:16.947 Sessionmanagement.java 3370102 313 org.openmeetings.app.data.basic.Sessionmanagement [http-0.0.0.0-5080-1] - Found session to update: 4245bc96a0c34734351f9757315e6769 userId: 1
DEBUG 03-15 12:19:16.958 UserService.java 3370113 59 org.openmeetings.axis.services.UserService [http-0.0.0.0-5080-1] - objName: org.openmeetings.app.hibernate.beans.user.Users
===============================================================================================================================
I've found following information at the axis documentation. And I think, this can maybe be the problem.
http://axis.apache.org/axis/java/user-guide.html#WhatAxisCanNotSendViaSOAP :
>>
What Axis can not send via SOAP
Arbitrary Objects without Pre-Registration
You cannot send arbitrary Java objects over the wire and expect them
to be understood at the far end. With RMI you can send and receive Serializable Java objects, but that is because you are running Java at both ends. Axis will only send objects for which there is a registered Axis serializer.
This document shows below how to use the BeanSerializer to serialize
any class that follows the JavaBean pattern of accessor and mutator. To
serve up objects you must either register your classes with this
BeanSerializer, or there must be serialization support built in to Axis.
<<
--
MFG
Natalie