2017-02-23 2 views
0

Ich versuche, eine Jax-Rs-Web-Service mit Jersey-Framework zu implementieren. Ich habe den Webservice geschrieben, aber ich verstehe nicht ganz, was die web.xml tags.so ich weiß nicht, ob ich es richtig konfiguriert habe, aber wenn ich versuche, auf den Dienst zuzugreifen, erhalte ich einen Fehler. Hier ist die Web-Service:Konfiguration Jax-Rs Web-Service

package com.Test.rest; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.Application; 
@Path("/demo") 
public class DemoService extends Application 
{ 
    @GET 
    @Path("/welcome") 
    @Produces("text/html") 
    public String sayWelcome() 
    { 
     return "welcome.."; 
    } 
} 

web.xml: -

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
<servlet> 
    <servlet-name>rest</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer 
    </servlet-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>com.Test.rest</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>rest</servlet-name> 
    <url-pattern>/resorces/*</url-pattern> 

immer Fehler: -

java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; 
    at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:669) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
+0

Überprüfen Sie Ihre Abhängigkeiten..Posten Sie Ihre pom.xml – Akshay

Antwort

0

AbstractMethodError werden ausgelöst, wenn eine Anwendung versucht, eine nennen abstrakte Methode.

uri ist eine abstrakte Methode in UriBuilder, so dass Sie eine Implementierung von diesem benötigen. Diese Methode (mit String-Parameter) stammt aus der Version 2.0 der JAX-RS-Spezifikation.

Sie versuchen, JAX-RS 2.0 mit Jersey 1 zu verwenden. . Stattdessen müssen Sie Jersey 2 verwenden., das JAX-RS 2.0 implementiert und eine Implementierung für die uri-Methode enthält.

+0

Vielen Dank, aber bitte im Detail erklären, weil ich in Web-Service-Tech frischer bin.Ich bekomme nicht –

+0

verwenden Sie Maven? –

+0

no..without maven –