Hi All,

I am trying to send messages to a web socket server through a jax-rs
service using tyrus [1]. I have separately deployed the web socket server
in the AS 5.3.0 alpha.

The code for the jax-rs service is as follows.









































*@Path("/hello")public class HelloService {    private static
CountDownLatch messageLatch;    @GET    @Path("/{message}")    public void
connectToWSServer(@PathParam("message") final String message) throws
URISyntaxException, IOException, DeploymentException, InterruptedException
{        String endPoint = "ws://127.0.0.1:9763/WebSocketServer/echo
<http://127.0.0.1:9763/WebSocketServer/echo>";        messageLatch = new
CountDownLatch(1);        final ClientEndpointConfig cec =
ClientEndpointConfig.Builder.create().build();        ClientManager client
= ClientManager.createClient();        client.connectToServer(new
Endpoint() {            @Override            public void onOpen(Session
session, EndpointConfig config) {                try {
session.addMessageHandler(new MessageHandler.Whole<String>()
{                        @Override                        public void
onMessage(String message) {
System.out.println("Received message:
"+message);
messageLatch.countDown();                        }
});
session.getBasicRemote().sendText(message);                } catch
(IOException e) {                    e.printStackTrace();
}            }        }, cec, new URI(endPoint));
messageLatch.await(100, TimeUnit.SECONDS);    }}*

The pom is as follows.


































































*<?xml version="1.0" encoding="UTF-8"?><project
xmlns="http://maven.apache.org/POM/4.0.0
<http://maven.apache.org/POM/4.0.0>"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
<http://www.w3.org/2001/XMLSchema-instance>"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
<http://maven.apache.org/POM/4.0.0>
http://maven.apache.org/xsd/maven-4.0.0.xsd
<http://maven.apache.org/xsd/maven-4.0.0.xsd>">
<modelVersion>4.0.0</modelVersion>    <groupId>org.test.jaxrs</groupId>
<artifactId>FirstJaxRsService</artifactId>
<version>1.0-SNAPSHOT</version>    <packaging>war</packaging>
<dependencies>        <dependency>            <groupId>javax.ws.rs
<http://javax.ws.rs></groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>        </dependency>
<dependency>            <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.1</version>        </dependency>
<dependency>            <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.1</version>        </dependency>
<dependency>            <groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>        </dependency>        <dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>        </dependency>        <dependency>
<groupId>org.glassfish.tyrus.bundles</groupId>
<artifactId>tyrus-standalone-client</artifactId>
<version>1.11</version>        </dependency>    </dependencies>
<build>        <plugins>            <plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>                <configuration>
<source>1.5</source>                    <target>1.5</target>
</configuration>            </plugin>            <plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>                <configuration>
<webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml>
<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
<warName>${project.artifactId}</warName>
</configuration>            </plugin>        </plugins>
</build></project>*

I have included the tyrus-standalone-client-1.11.jar [2] in
AS_HOME/repository/components/dropins, but I get the following exception.

[2015-07-06 12:05:15,756] ERROR
{org.apache.catalina.core.StandardWrapperValve} -  Servlet.service() for
servlet [JAXServlet] in context with path [/FirstJaxRsService] threw
exception
java.lang.RuntimeException: org.apache.cxf.interceptor.Fault:
org/glassfish/tyrus/client/ClientManager
    at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116)
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:331)
    at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    at
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
    at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
    at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
    at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
    at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:159)
    at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
    at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:211)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
    at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at
org.wso2.carbon.statistics.webapp.RequestIntercepterValve.invoke(RequestIntercepterValve.java:47)
    at
org.wso2.carbon.bam.webapp.stat.publisher.WebAppStatisticPublisherValve.invoke(WebAppStatisticPublisherValve.java:104)
    at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
    at
org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
    at
org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
    at
org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
    at
org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
    at
org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
    at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at
org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
    at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
    at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.cxf.interceptor.Fault:
org/glassfish/tyrus/client/ClientManager
    at
org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162)
    at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:194)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)
    at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
    at
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
    ... 40 more
Caused by: java.lang.NoClassDefFoundError:
org/glassfish/tyrus/client/ClientManager
    at org.test.jaxrs.HelloService.connectToWSServer(HelloService.java:33)
    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:606)
    at
org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
    at
org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
    ... 45 more
Caused by: *java.lang.ClassNotFoundException:
org.glassfish.tyrus.client.ClientManager*
    at
org.wso2.carbon.webapp.mgt.loader.CarbonWebappClassLoader.loadClass(CarbonWebappClassLoader.java:154)
    at
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
    ... 52 more

Can anyone help me resolve this issue.

[1] https://tyrus.java.net/documentation/1.11/user-guide.html#d0e78
[2]
http://mvnrepository.com/artifact/org.glassfish.tyrus.bundles/tyrus-standalone-client/1.11

Thanks and Regards.
-- 
Sabra Ossen <http://lk.linkedin.com/in/sabraossen>
Undergraduate | Department of Computer Science and Engineering
University of Moratuwa
Sri Lanka
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to