मैं Glassfish 4.0 पर एक साधारण JAX-आरएस सेवा तैनाती और निम्न त्रुटि हो रही रखने के लिए कोशिश कर रहा हूँ:बाकी सेवा त्रुटि: संसाधन उपलब्ध Glassfish नहीं है 4.0 JAX-आरएस 2.0
HTTP Status 404 - Not Found
type Status report
messageNot Found
descriptionThe requested resource is not available.
GlassFish Server Open Source Edition 4.0
युद्ध फ़ाइल ठीक तैनात ग्लासफ़िश सर्वर में हालांकि ऐसा लगता है कि क्लास लोडर अपना काम नहीं कर रहा है और बाकी सेवा को उचित रूप से उजागर कर रहा है। मैं यह समझने की कोशिश कर रहा हूं कि कक्षा उचित रूप से क्यों लोड नहीं हो रही है। मुझे पता है कि यह शायद एक साधारण विन्यास परिवर्तन है हालांकि मैं इसे खोजने में सक्षम नहीं हूं।
विन्यास: glassfish-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<context-root>/reports</context-root>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
<servlet-name>Jersey</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
बाकी सेवा कोड:
package com.esa.report.rest.service;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.PathParam;
import javax.ws.rs.Consumes;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.enterprise.context.RequestScoped;
import javax.ws.rs.core.MediaType;
@Path("weeklyStatusReport")
@RequestScoped
public class WeeklyStatusReportService {
@Context
private UriInfo context;
public WeeklyStatusReportService() {
}
@GET
@Path("run/{esaId}")
@Produces({MediaType.APPLICATION_XHTML_XML})
public String runReport(@PathParam("esaId") String esaId){
return("Hello esaId: "+esaId);
}
@GET
@Produces("text/html")
public String getHtml() {
return("hello this is the weekly status report");
}
@PUT
@Consumes("text/html")
public void putHtml(String content) {
}
}
युद्ध के साथ तैनात किया गया है मैं/रिपोर्ट का यूआरएल संदर्भ और यूआरएल का उपयोग कर रहा हूं :
http://localhost:8080/reports/rest/weeklyStatusReport/run/123
क्या आपने कहीं वेब सेवा कक्षाएं पंजीकृत नहीं की हैं? क्या कोड ग्लासफ़िश 3 पर काम करता था? – perissf