2013-07-17 9 views
25

मैंने कई पदों के माध्यम से पढ़ा है, लेकिन मेरी समस्या को हल करने के लिए प्रतीत नहीं होता है। आपको इस तरह के बहुत सारे पोस्ट भी मिलेंगे, यहां तक ​​कि एक ही ट्यूटोरियल। यहां तक ​​कि उनका पालन करने के बाद भी, मुझे जवाब नहीं मिल रहा है।जर्सी आरईएसटी वेब सेवा, टोमकैट, ग्रहण और 404 के

अनिवार्य रूप से, मैं कम से सरल ट्यूटोरियल का पालन करने की कोशिश कर रहा हूँ: ग्रहण : http://www.vogella.com/articles/REST/

मैं

मैं उपयोग कर रहा हूँ यह जर्सी 2.x के साथ संगत बनाने के लिए कुछ परिवर्तन किए हैं बिलाव 6 (प्रसारित/ग्रहण के भीतर के रूप में चलाएँ) jaxrs-ri-2.0 मैं ग्रहण में JAX-आरएस पहलू सक्रिय कर दिया है

सब कुछ बनाता है ठीक बिलाव ग्रहणभीतर ठीक शुरू होता है 210 मैं के माध्यम से एक स्थैतिक पृष्ठ सामग्री प्राप्त कर सकते:

http://localhost:8080/RestTEST2/index.html

हालांकि, जब मैं के माध्यम से मेरी सेवा का उपयोग करने की कोशिश: मैं के साथ एक 404 प्राप्त होता

http://localhost:8080/RestTEST2/jaxrs/hello

"संदेश नहीं मिला" और "अनुरोधित संसाधन (नहीं मिला) उपलब्ध नहीं है।"

package TestREST; 

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

// Plain old Java Object it does not extend as class or implements 
// an interface 

// The class registers its methods for the HTTP GET request using the @GET annotation. 
// Using the @Produces annotation, it defines that it can deliver several MIME types, 
// text, XML and HTML. 

// The browser requests per default the HTML MIME type. 

//Sets the path to base URL + /hello 
@Path("/hello") 
public class Hello { 

    // This method is called if TEXT_PLAIN is request 
    @GET 
    @Produces(MediaType.TEXT_PLAIN) 
    public String sayPlainTextHello() { 
    return "Hello Jersey"; 
    } 

    // This method is called if XML is request 
    @GET 
    @Produces(MediaType.TEXT_XML) 
    public String sayXMLHello() { 
    return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>"; 
    } 

    // This method is called if HTML is request 
    @GET 
    @Produces(MediaType.TEXT_HTML) 
    public String sayHtmlHello() { 
    return "<html> " + "<title>" + "Hello Jersey" + "</title>" 
     + "<body><h1>" + "Hello Jersey" + "</body></h1>" + "</html> "; 
    } 
} 

मैं भी एक JAX- है:

यहाँ मेरी web.xml जो /WebContent/WEB-INF/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"> 
<display-name>TestREST2</display-name> 
<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 
<servlet> 
    <description>JAX-RS Tools Generated - Do not modify</description> 
    <servlet-name>JAX-RS Servlet</servlet-name> 
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>TestREST</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>JAX-RS Servlet</servlet-name> 
     <url-pattern>/jaxrs/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

यहाँ पर स्थित है मेरी जावा वर्ग है आरएस उपयोगकर्ता पुस्तकालय कॉन्फ़िगर और संदर्भित है जिसमें सभी जेएक्स-आरएस जार शामिल हैं।

वेब सेवा को किस कारण से नहीं मिलेगा इस पर विचार?

उत्तर

25

जर्सी 2.0 com.sun.jersey.config.property.packages (web.xml) नाम के साथ init-param को पहचान नहीं करता है। ServerProperties.PROVIDER_PACKAGES में वर्णित अनुसार इसे jersey.config.server.provider.packages पर बदलने का प्रयास करें।

+2

बहुत बढ़िया में jersey.config.server.provider.packages करने के लिए com.sun.jersey.config.property.packages बदल रहा है। मैं इसे घंटों तक लड़ रहा हूं। यह मेरी समस्या के लिए soluton था। मैंने टेस्टरेस्ट के रूप में एक्सएमएल में अपना पैकेज नाम गलत टाइप किया था, जब यह टेस्टरेस्ट होना चाहिए था, लेकिन यह इस मुद्दे की जड़ थी। अनेक अनेक धन्यवाद। –

+0

आपकी टिप्पणी से मैंने प्रदाता पीकेजी को अपने स्वयं के पीकेजी में बदलना सीखा है। धन्यवाद –

+0

मैं एक ही प्रोजेक्ट को लागू करने की कोशिश कर रहा हूं ..... लेकिन एक ही त्रुटि बनी हुई है .. मैंने यहां प्रदान किए गए सभी समाधानों का प्रयास किया है और साथ ही टॉमकैट सर्वर के स्थान को बदलने की कोशिश की है .... – spt025

4

बहुत बहुत धन्यवाद .. मैं इसके लिए भी लड़ रहा हूं।

इस संयोजन मेरे लिए काम किया: बिलाव 7.0.55 ग्रहण लूना जावा 1.6 जर्सी 1.7

web.xml:

<servlet> 
    <servlet-name>Jersey REST Service</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
    <init-param> 
     <param-name>jersey.config.server.provider.packages</param-name> 
     <param-value>com.trgr.cobalt.cmdb.jersey.resource;com.trgr.cobalt.cmdb.jersey.beans;com.trgr.cobalt.cmdb.elasticity</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Jersey REST Service</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
+0

ऐसा लगता है कि यह एक टिप्पणी होना चाहिए, जवाब नहीं। कृपया उत्तर अनुभाग में टिप्पणी करने के बजाय टिप्पणी करने के लिए पर्याप्त प्रतिनिधि होने तक प्रतीक्षा करें। – Chris

0

सीधे शब्दों में अपाचे बिलाव v7.0 के विन्यास को संशोधित करके आरईएसटी को शामिल करने के लिए डायनामिक वेब प्रोजेक्ट बनाने के दौरान, मैंने अपनी समस्या हल की। यह डिफ़ॉल्ट रूप से सक्षम नहीं है।

+2

आपको अपनी समस्या हल करने वाले कोड को संपादित और जोड़ना चाहिए – Med

3

मैं इस पोस्ट में एक जवाब जोड़ना चाहता हूं। मैं दो दिनों के लिए एक ही समस्या से जूझ रहा था और समाधान नहीं मिला। मैं सभी संभव यहाँ प्रदान समाधान करने की कोशिश की, लेकिन बाद में मैंने महसूस किया कि सर्वर समाधान देता है

org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException 

यह लिंक उत्तरों की त्रुटि दे रहा था कि कोई मेरी तरह फंस गया है .. org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException

असल में इस पोस्ट में दिए गए पहले जवाब जर्सी 2.x बंडल के लिए समाधान का सुझाव देते हैं और यदि आप जर्सी 1.x का उपयोग कर रहे हैं तो यह त्रुटि दे रहा है।

कृपया आगे के संदर्भ

0

हाल ही में मुझे लगने इस समस्या में फंस के लिए जवाब में दिए गए लिंक को देखें। मैं यह हल मिल गया है समाधान के रूप में इन दो बिंदुओं का पालन करते हुए:

  1. स्रोत निर्देशिका के रूप में src/main/java रही है, और परियोजना संरचना रखने से नीचे के रूप में दिखाया गया है:

enter image description here

  1. web.xml
संबंधित मुद्दे