Search the FirstSpirit Knowledge Base
Hallo,
wir möchten mit Hilfe einer Public-Komponente eine CMS_INPUT_LIST füllen. Dieses funktioniert im Java-Client ohne Probleme, nur im WebEdit nicht.
Was müssen wir tun, damit dieses auch im WebEdit funktioniert?
Vielen Dank
Dirk Kuch
Wir haben die Komponente, dass Formular, etc. wie folgt definiert:
Version Server: 5.0.210.55494
Eingabe-Formular
<CMS_INPUT_LIST name="tt_rechte" hFill="yes">
<CMS_INCLUDE_OPTIONS type="public">
<LABELS>
<LABEL lang="*">#item.rolelabel</LABEL>
</LABELS>
<NAME>roleprovider</NAME>
<PARAMS>
<PARAM name="roletype">editorroles</PARAM>
</PARAMS>
</CMS_INCLUDE_OPTIONS>
<LANGINFOS>
<LANGINFO lang="*" label="Rechte"/>
</LANGINFOS>
</CMS_INPUT_LIST>
modul.xml
<module>
<name>${artifactId}</name>
<version>${project.version}</version>
<description>---</description>
<vendor>---</vendor>
<resources>
<resource>lib/${artifactId}-${project.version}.jar</resource>
</resources>
<components>
<public>
<name>roleprovider</name>
<class>---.rolevalueprovider.RoleIncludeValueProvider</class>
<description>Rollen IncludeValueProvider</description>
<resources>
<resource>lib/---.-${project.version}.jar</resource>
</resources>
</public>
</components>
</module>
Das Öffnen des Formulars im WebEdit liefert folgende Fehlermeldung:
Im WebEdit einen Fehlerdialog mit folgender Meldung:
500 The call failed on the server, see server log for details
Das Öffnen des Formulars in WebEdit liefert folgende Fehlermeldung in der fs-server.log:
ERROR 22.02.2013 12:55:27.750 (de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService): [Sync] call 'StoreElementFormServiceImpl.loadForm()' failed: java.lang.IllegalStateException: loading of public type 'roleprovider' failed, type de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeValueProvider
FSVersion=5.0.210.55494#3053;JDK=1.6.0_31 64bit Sun Microsystems Inc.;OS=Linux 3.0.38-0.5-default amd64;Date=22.02.2013 12:55:27
java.lang.IllegalStateException: loading of public type 'roleprovider' failed, type de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeValueProvider
at de.espirit.firstspirit.webedit.server.WebeditSpecialistsBroker$WebEditModuleAgent.getTypeForName(WebeditSpecialistsBroker.java:329)
at de.espirit.firstspirit.access.store.templatestore.gom.HotspotValueProvider.getValueProvider(HotspotValueProvider.java:68)
at de.espirit.firstspirit.access.store.templatestore.gom.HotspotValueProvider.getValueProvider(HotspotValueProvider.java:62)
at de.espirit.firstspirit.access.store.templatestore.gom.HotspotValueProvider.getValues(HotspotValueProvider.java:55)
at de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$ListOptionAdapter.getValues(GomIncludeOptions.java:294)
at de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$ListOptionAdapter.size(GomIncludeOptions.java:309)
at java.util.AbstractList$Itr.hasNext(AbstractList.java:339)
at de.espirit.firstspirit.client.access.editor.ListOptionModel.<init>(ListOptionModel.java:43)
at de.espirit.firstspirit.client.access.editor.ListOptionModel.<init>(ListOptionModel.java:35)
at de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$OptionFactoryImpl.getOptionModel(GomIncludeOptions.java:259)
at de.espirit.firstspirit.webedit.server.gadgets.listselect.ListSelectServerGadget.getWidgetConfiguration(ListSelectServerGadget.java:60)
at de.espirit.firstspirit.webedit.server.gadgets.listselect.ListSelectServerGadget.getWidgetConfiguration(ListSelectServerGadget.java:31)
at de.espirit.firstspirit.webedit.server.gadgets.ValueSerializingGwtServerGadgetMediator.getFormConfiguration(ValueSerializingGwtServerGadgetMediator.java:186)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.buildConfigurationNode(AggregatingGwtServerGadgetMediator.java:98)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.getFormConfiguration(AggregatingGwtServerGadgetMediator.java:79)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.buildConfigurationNode(AggregatingGwtServerGadgetMediator.java:98)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.getFormConfiguration(AggregatingGwtServerGadgetMediator.java:79)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.buildConfigurationNode(AggregatingGwtServerGadgetMediator.java:98)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.getFormConfiguration(AggregatingGwtServerGadgetMediator.java:79)
at de.espirit.firstspirit.webedit.server.gadgets.GwtFormControl.getFormConfiguration(GwtFormControl.java:82)
at de.espirit.firstspirit.webedit.server.forms.FormSessionManager$FormSessionImpl.toDto(FormSessionManager.java:494)
at de.espirit.firstspirit.webedit.server.forms.FormSessionManager$FormSessionImpl.toDto(FormSessionManager.java:462)
at de.espirit.firstspirit.webedit.server.forms.StoreElementFormServiceImpl.loadForm(StoreElementFormServiceImpl.java:127)
at sun.reflect.GeneratedMethodAccessor203.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$RPCInvoke.call(PollSupportingWebeditService.java:183)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$ServiceCallPollFeedWrapper.call(PollSupportingWebeditService.java:296)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
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)
Caused by: java.lang.ClassNotFoundException: ---.---.rolevalueprovider.RoleIncludeValueProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at de.espirit.firstspirit.server.jetty.JettyClassLoader.loadClass(JettyClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at de.espirit.firstspirit.server.jetty.JettyClassLoader.loadClass(JettyClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at de.espirit.firstspirit.webedit.server.WebeditSpecialistsBroker$WebEditModuleAgent.getTypeForName(WebeditSpecialistsBroker.java:327)
... 32 more
WARN 22.02.2013 12:55:27.751 (/fs5webedit_14126): Exception while dispatching incoming RPC call
FSVersion=5.0.210.55494#3053;JDK=1.6.0_31 64bit Sun Microsystems Inc.;OS=Linux 3.0.38-0.5-default amd64;Date=22.02.2013 12:55:27
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract de.espirit.firstspirit.webedit.client.forms.FormSessionDTO de.espirit.firstspirit.webedit.client.forms.StoreElementFormService.loadForm(de.espirit.firstspirit.webedit.client.store.FSID,de.espirit.firstspirit.webedit.client.io.EditorNodeWrapper,java.lang.String) throws de.espirit.firstspirit.webedit.client.store.PermissionException,de.espirit.firstspirit.webedit.client.util.ServiceFailedException' threw an unexpected exception: java.lang.IllegalStateException: loading of public type 'roleprovider' failed, type de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeValueProvider
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService.logAndEncodeThrowable(PollSupportingWebeditService.java:141)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService.processCall(PollSupportingWebeditService.java:102)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at de.espirit.firstspirit.webedit.server.WebeditService.service(WebeditService.java:71)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:598)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1367)
at de.espirit.firstspirit.io.servlet.WebAuthentication.doChain(WebAuthentication.java:671)
at de.espirit.firstspirit.webedit.server.ServiceAuthentication.doChain(ServiceAuthentication.java:27)
at de.espirit.firstspirit.io.servlet.WebAuthentication.doFilter(WebAuthentication.java:534)
at de.espirit.firstspirit.io.servlet.WebAuthentication.doFilter(WebAuthentication.java:150)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at de.espirit.firstspirit.webedit.server.BrowserCachingFilter.doFilter(BrowserCachingFilter.java:33)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1338)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:484)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1065)
at de.espirit.firstspirit.server.jetty.JettyManagerImpl$FailSafeWebAppContext.doHandle(JettyManagerImpl.java:839)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:413)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:192)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:999)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:149)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:111)
at org.eclipse.jetty.server.Server.handle(Server.java:350)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:454)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:900)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:954)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:851)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:77)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:606)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:46)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:603)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:538)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException: loading of public type 'roleprovider' failed, type de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeValueProvider
at de.espirit.firstspirit.webedit.server.WebeditSpecialistsBroker$WebEditModuleAgent.getTypeForName(WebeditSpecialistsBroker.java:329)
at de.espirit.firstspirit.access.store.templatestore.gom.HotspotValueProvider.getValueProvider(HotspotValueProvider.java:68)
at de.espirit.firstspirit.access.store.templatestore.gom.HotspotValueProvider.getValueProvider(HotspotValueProvider.java:62)
at de.espirit.firstspirit.access.store.templatestore.gom.HotspotValueProvider.getValues(HotspotValueProvider.java:55)
at de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$ListOptionAdapter.getValues(GomIncludeOptions.java:294)
at de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$ListOptionAdapter.size(GomIncludeOptions.java:309)
at java.util.AbstractList$Itr.hasNext(AbstractList.java:339)
at de.espirit.firstspirit.client.access.editor.ListOptionModel.<init>(ListOptionModel.java:43)
at de.espirit.firstspirit.client.access.editor.ListOptionModel.<init>(ListOptionModel.java:35)
at de.espirit.firstspirit.access.store.templatestore.gom.GomIncludeOptions$OptionFactoryImpl.getOptionModel(GomIncludeOptions.java:259)
at de.espirit.firstspirit.webedit.server.gadgets.listselect.ListSelectServerGadget.getWidgetConfiguration(ListSelectServerGadget.java:60)
at de.espirit.firstspirit.webedit.server.gadgets.listselect.ListSelectServerGadget.getWidgetConfiguration(ListSelectServerGadget.java:31)
at de.espirit.firstspirit.webedit.server.gadgets.ValueSerializingGwtServerGadgetMediator.getFormConfiguration(ValueSerializingGwtServerGadgetMediator.java:186)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.buildConfigurationNode(AggregatingGwtServerGadgetMediator.java:98)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.getFormConfiguration(AggregatingGwtServerGadgetMediator.java:79)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.buildConfigurationNode(AggregatingGwtServerGadgetMediator.java:98)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.getFormConfiguration(AggregatingGwtServerGadgetMediator.java:79)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.buildConfigurationNode(AggregatingGwtServerGadgetMediator.java:98)
at de.espirit.firstspirit.webedit.server.gadgets.AggregatingGwtServerGadgetMediator.getFormConfiguration(AggregatingGwtServerGadgetMediator.java:79)
at de.espirit.firstspirit.webedit.server.gadgets.GwtFormControl.getFormConfiguration(GwtFormControl.java:82)
at de.espirit.firstspirit.webedit.server.forms.FormSessionManager$FormSessionImpl.toDto(FormSessionManager.java:494)
at de.espirit.firstspirit.webedit.server.forms.FormSessionManager$FormSessionImpl.toDto(FormSessionManager.java:462)
at de.espirit.firstspirit.webedit.server.forms.StoreElementFormServiceImpl.loadForm(StoreElementFormServiceImpl.java:127)
at sun.reflect.GeneratedMethodAccessor203.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$RPCInvoke.call(PollSupportingWebeditService.java:183)
at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$ServiceCallPollFeedWrapper.call(PollSupportingWebeditService.java:296)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
... 1 more
Caused by: java.lang.ClassNotFoundException: ---.---.rolevalueprovider.RoleIncludeValueProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at de.espirit.firstspirit.server.jetty.JettyClassLoader.loadClass(JettyClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at de.espirit.firstspirit.server.jetty.JettyClassLoader.loadClass(JettyClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at de.espirit.firstspirit.webedit.server.WebeditSpecialistsBroker$WebEditModuleAgent.getTypeForName(WebeditSpecialistsBroker.java:327)
... 32 more
Hallo Dirk,
damit die Klasse im WebEdit zur Verfügung steht, musst du in deinem Modul auch eine Web-App definieren, die ebenfalls dein jar enthält. Diese dann über die Adminkonsole in der WebEdit-Umgebung des Projektes installieren.
Viele Grüße
Christoph
Hallo Dirk,
damit die Klasse im WebEdit zur Verfügung steht, musst du in deinem Modul auch eine Web-App definieren, die ebenfalls dein jar enthält. Diese dann über die Adminkonsole in der WebEdit-Umgebung des Projektes installieren.
Viele Grüße
Christoph
Hallo Christoph,
super, das war's 🙂
Vielen Dank für Deine Hilfe und schönes Wochenende
Dirk