Questions & Answers

SOLVED
drescher
I'm new here

Executable funktioniert nicht im Webeditor

Jump to solution

Hallo,

ich integriere in dem Formlar eines Templates  einen FS_Button der ein Executable in einem eigens entwickelten Modul ausfรผhren soll.

Im SiteArchitekt funktioniert es wunderbar nur im ContentCreator erhalte ich ein Popup mit der Meldung  "WebEdit client error occurred: Status code detection: 500 The call failed on the server; see server log for details".

Im Server-Log steht dieser Stacktrace:

WARN  10.10.2014 08:05:44.267 (/fs5webedit): Exception while dispatching incoming RPC call

FSVersion=5.1.209.63675#4044;JDK=1.7.0_17 64bit Oracle Corporation;OS=Linux 3.2.0-54-generic amd64;Date=10.10.2014 08:05:44

com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract de.espirit.firstspirit.webedit.client.forms.FormScriptResult de.espirit.firstspirit.webedit.client.forms.StoreElementFormSe

rvice.executeScript(int,java.lang.String,de.espirit.firstspirit.webedit.client.forms.FormScriptSetup)' threw an unexpected exception: java.lang.IllegalStateException: loading of public type 'de.ams.push.fsm.

appcenter.executable.PushmanagerExecutable' failed, type de.espirit.firstspirit.access.script.Executable

        at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:389)

        at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService.logAndEncodeThrowable(PollSupportingWebeditService.java:208)

        at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService.processCall(PollSupportingWebeditService.java:169)

        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:95)

        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:689)

        at de.espirit.firstspirit.webedit.server.ServiceAuthentication.doChain(ServiceAuthentication.java:33)

        at de.espirit.firstspirit.io.servlet.WebAuthentication.doFilter(WebAuthentication.java:552)

        at de.espirit.firstspirit.io.servlet.WebAuthentication.doFilter(WebAuthentication.java:157)

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:722)

Caused by: java.lang.IllegalStateException: loading of public type 'de.ams.push.fsm.appcenter.executable.PushmanagerExecutable' failed, type de.espirit.firstspirit.access.script.Executable

        at de.espirit.firstspirit.webedit.server.WebeditSpecialistsBroker$WebEditModuleAgent.getTypeForName(WebeditSpecialistsBroker.java:351)

        at de.espirit.firstspirit.webedit.server.script.WebeditScriptUtil.execute(WebeditScriptUtil.java:74)

        at de.espirit.firstspirit.webedit.server.forms.StoreElementFormServiceImpl.executeScript(StoreElementFormServiceImpl.java:625)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:601)

        at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$RPCInvoke.call(PollSupportingWebeditService.java:262)

        at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$ServiceCallPollFeedWrapper.call(PollSupportingWebeditService.java:378)

        at de.espirit.firstspirit.webedit.server.concurrent.ExecutionManager$NamedCallable.call(ExecutionManager.java:136)

        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)

        at java.util.concurrent.FutureTask.run(FutureTask.java:166)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

        ... 1 more

Caused by: java.lang.ClassNotFoundException: de.ams.push.fsm.appcenter.executable.PushmanagerExecutable

        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:423)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)

        at de.espirit.firstspirit.server.jetty.JettyClassLoader.loadClass(JettyClassLoader.java:94)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)

        at de.espirit.firstspirit.server.jetty.JettyClassLoader.loadClass(JettyClassLoader.java:94)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:356)

        at de.espirit.firstspirit.webedit.server.WebeditSpecialistsBroker$WebEditModuleAgent.getTypeForName(WebeditSpecialistsBroker.java:349)

        ... 14 more

ERROR 10.10.2014 08:05:44.391 (de.espirit.firstspirit.webedit.server.RemoteBatchLoggingServiceImpl): WebEdit client error occurred: Status code detection: 500 The call failed on the server; see server log for details

In der module.xml ist die Executable so definiert:

<public>

            <name>PushmanagerExecutable</name>

            <displayname>inApp|Marketing Manager Executable: to activate with fs_button</displayname>

                                       <class>de.ams.push.fsm.appcenter.executable.PushmanagerExecutable</class>

                    </public>

Der Button ist im Formular so konfiguriert:

      <FS_BUTTON

        name="cs_iamm_create_campaign_button"

        alwaysEnabled="yes"

        hidden="no"

        icon="media:inAppMarketingManager_icon"

        onClick="class:de.ams.push.fsm.appcenter.executable.PushmanagerExecutable"

        style="button"

        useLanguages="yes">

        <LANGINFOS>

          <LANGINFO lang="*" label="Create campaign"/>

          <LANGINFO lang="DE" label="Kampagne erstellen"/>

        </LANGINFOS>

      </FS_BUTTON>

Woran kรถnnte es liegen, dass es im SiteArchitekt funktioniert jedoch nicht im ContentCreator?

0 Kudos
1 Solution

Accepted Solutions

Hallo,

Nur sicherheitshalber: Wurde die WepApp auch dem CC-Web-Kontext hinzugefรผgt und entsprechend deployed (oberer "Aktualisieren"-Button)?

Falls ja hilft es ggf. beim onClick nicht den Klassennamen sondern den Komponentennamen aus der module.xml einzutragen, also

  <FS_BUTTON

        ...

        onClick="class:PushmanagerExecutable"

        ...

  </FS_BUTTON>

Viele GrรผรŸe

Michael

View solution in original post

0 Kudos
5 Replies
mbergmann
Crownpeak employee

Hallo,

Ursache ist hier folgendes:

Caused by: java.lang.ClassNotFoundException:

de.ams.push.fsm.appcenter.executable.PushmanagerExecutable

Das Executable ist im Contentcreator unbekannt. Hier muss man in der module.xml zusรคtzlich eine WebApp mit dem jar das die Klasse enthรคlt als Web-Ressource definieren und diese im ContentCreator hinzufรผgen.

Viele GrรผรŸe

Michael

0 Kudos

Hallo,

benรถtigst du noch weitere Hilfe oder hat dir Michaels Antwort bereits geholfen?

In diesem Fall wรคre es nett, wenn du seine "richtige Antwort" entsprechend markierst.

Solltest du zwischenzeitlich eine eigene Lรถsung gefunden haben, wรคre es super, wenn du diese hier bereitstellst.

Viele GrรผรŸe

Michaela

0 Kudos

Der Fehler besteht leider noch.

Ich habe in der module.xml nun eine zusรคtzliche Webapp mit einem jar-file, die die Klasse de.ams.push.fsm.appcenter.executable.PushmanagerExecutable enthรคlt hinzugefรผgt.

Die Konfiguration sieht so aus:

<module>

  ...

 

          <components>

  ...

 

     <web-app>

            <name>inAPP Marketing-Manager WebClient Extensions</name>

            <displayname>inAPP Marketing-Manager WebClient Extensions: for WebClient 5</displayname>

             <class>de.ams.push.fsm.projectapp.PushmanagerWebApp</class>

            <web-xml>web.xml</web-xml>

            <resources>

                <resource>lib/pushmanager-fsm-1.5.0-SNAPSHOT-jar-with-dependencies.jar</resource>

            </resources>

            <web-resources>

                <resource>lib/pushmanager-fsm-1.5.0-SNAPSHOT-jar-with-dependencies.jar</resource>

            </web-resources>

        </web-app>

...


0 Kudos

Hallo,

Nur sicherheitshalber: Wurde die WepApp auch dem CC-Web-Kontext hinzugefรผgt und entsprechend deployed (oberer "Aktualisieren"-Button)?

Falls ja hilft es ggf. beim onClick nicht den Klassennamen sondern den Komponentennamen aus der module.xml einzutragen, also

  <FS_BUTTON

        ...

        onClick="class:PushmanagerExecutable"

        ...

  </FS_BUTTON>

Viele GrรผรŸe

Michael

0 Kudos

Hallo,

benรถtigst du noch weitere Hilfe oder hat dir Michaels Antwort bereits geholfen?

In diesem Fall wรคre es nett, wenn du seine "richtige Antwort" entsprechend markierst.

Solltest du zwischenzeitlich eine eigene Lรถsung gefunden haben, wรคre es super, wenn du diese hier bereitstellst.

Viele GrรผรŸe

Thorsten

0 Kudos

Type a product name