cancel
Showing results for 
Search instead for 
Did you mean: 

Web sockets plugin for Neo?

Former Member
0 Kudos

Hi,

I really want to try out a proof of concept with server push eventing.

Would like the server to be hosted on SAP NetWeaver Cloud and the client to be based on SAPUI5 and HTML5/JS.

Are there any recommended plugins or libraries for this usage?

Doesn't have to be web sockets, but could be other ways of achieving persistent connections between JS client and server on Neo

There exist quite a few ones in general for Java which of course can be integrated in a java web app. See for example

http://www.shaunabram.com/oscon-day4-websockets/

I assume SAP is using server push eventing in several of their ondemand solutions, so it would be interesting to learn more about how you've solved in practice.

Regards

Dagfinn

View Entire Topic
kirsten_ott
Advisor
Advisor
0 Kudos

Hi,

I'm trying to develop an application based on websockets in the Netweaver Cloud.

My tests on Tomcat 7 were successfull but in the cloud the connection failed.

At the moment its a small test application with two files.

One html-file to open the connection and a servlet to manage the connections. The servlet extends the WebSocketServlet in the org.apache.catalina.websocket package. With "'ws://' + window.location.host + '/WebSocket/socket'" the connection will be opened.

And in the web.xml is the following entry:

  <servlet>

    <servlet-name>Server</servlet-name>

    <servlet-class>socket.Server</servlet-class>

  </servlet>

  <servlet-mapping>

    <servlet-name>Server</servlet-name>

    <url-pattern>/socket</url-pattern>

  </servlet-mapping>

It works on local Tomcat 7 Server, but when I deploy and test on Netweaver Cloud I get the following exception:

HTTP Status 500 -

description The server encountered an internal error () that prevented it from fulfilling this request.

exception java.lang.NoClassDefFoundError: socket.Server not found from bundle [WebSocket_0.0.0 [175]]

          org.eclipse.gemini.web.tomcat.internal.loading.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:107)

          org.eclipse.gemini.web.tomcat.internal.loading.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:139)

          java.lang.ClassLoader.loadClass(ClassLoader.java:248)

[...]

root cause

java.lang.NoClassDefFoundError: org/apache/catalina/websocket/WebSocketServlet

          java.lang.ClassLoader.defineClass1(Native Method)

          java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)

          java.lang.ClassLoader.defineClass(ClassLoader.java:616)

          org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)

          org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:601)

org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567)

org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490)

[...]

root cause

java.lang.ClassNotFoundException: org.apache.catalina.websocket.WebSocketServlet

          org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)

          org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)

          org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)

          org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)

          java.lang.ClassLoader.loadClass(ClassLoader.java:248)

          java.lang.ClassLoader.defineClass1(Native Method)

          java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)

[...]

Has someone an idea what I could do?

Thanks

Kirsten