2017-02-23 12 views
0

Я пытаюсь реализовать веб-сервис jax-rs с использованием каркаса джерси. Я написал веб-службу, но я не совсем понимаю, что такое теги web.xml. Я не знаю, правильно ли я настроил его, но когда я пытаюсь получить доступ к службе, я получаю сообщение об ошибке. Вот это веб-сервис:Конфигурация 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> 

получать сообщение об ошибке: -

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

Перепроверьте свои зависимости..пост вашего pom.xml – Akshay

ответ

0

AbstractMethodError выбрасываются, когда приложение пытается вызвать абстрактный метод.

uri - это абстрактный метод в UriBuilder, поэтому вам нужна реализация этого. Этот метод (с параметром String) относится к версии 2.0 спецификации JAX-RS.

Вы пытаетесь использовать JAX-RS 2.0 с Джерси 1. . Вместо этого вам нужно использовать Jersey 2., который реализует JAX-RS 2.0 и содержит реализацию для метода uri.

+0

Благодарим вас, но, пожалуйста, объясните подробно, потому что я лучше разбираюсь в технологии веб-сервиса. Я не получаю –

+0

, вы используете maven? –

+0

no..without maven –