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