Wie bekomme ich eine JAX-RS-Anwendung auf WebSphere 8.5
So, ich bin tring zu bekommen, eine JAX-RS-Anwendung, die auf meinem WebSphere 8.5 Instanz. Ich habe die folgende Schnittstelle...
@Path("service")
public class RestService {
@GET
@Produces("text/plain")
public int getCount(){
return 1;
}
}
- Und Dies ist meine Bewerbung...
public class RESTConfig extends Application{
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new Hashset<?>();
classes.add(RestService.class);
return classes;
}
}
Dann das ist meine web.xml...
<servlet>
<servlet-name>Rest Servlet</servlet-name>
<servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
<init-param>
<param-name>jaxrs.ws.rs.Application</param-name>
<param-value>com.company.rest.RESTConfig</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
....
<servlet-mapping>
<servlet-name>Rest Servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
Dann habe ich ein OHR, konfiguriert mit dem KRIEG als Modul. Aber wenn ich starten und alles versuchen werde http://localhost:[port]/Krieg/rest/app/service, den ich sehen..
[ZEIT] 00000115 RequestProces ich org.apache.wink.server.intern.RequestProcessor logException Der folgende Fehler trat beim Aufruf der Handler-Kette: WebApplicationException (404 - Nicht Gefunden) mit der Meldung 'null' während der Verarbeitung von GET-Anforderung gesendet http://localhost:[port]/Krieg/rest/service
Bitte Um Hilfe!!
InformationsquelleAutor Jackie | 2012-12-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
WAS8.5 unterstützt v2.4 und v3 servlets. Der Grund entfernen web.xml Inhalt (und mit 3.0-code) für Sie gearbeitet, weil Sie einen Fehler hatte in der param-Namen-tag Ihrer web.xml. v2.4 servlet funktioniert in WAS8.5 wenn Sie die richtige param-name.
Dies ist falsch.
Richtig:
Details:
http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/topic/com.ibm.websphere.nd.multiplatform.doc/ae/twbs_jaxrs_configwebxml.html
InformationsquelleAutor ara m
Den
RestConfig
Klasse (definiert als die JAX-RS-Anwendung) überschreiben solltengetClasses
zurück zu den Ressourcen:http://localhost:[port]/war/rest/app/service/getCount
?Sorry, der ursprüngliche Beitrag wurde, soll verborgenen und war nicht. Ja, ich habe nicht versucht, die getCount am Ende noch. Ich dachte, es würde den Pfad in die PATH-ist das nicht der Fall? Ich werde versuchen, es wieder heraus. Auf einer anderen Anmerkung ich poste ein update mit den Problemen, die ich mit Augenzwinkern.
Yup keine Würfel... localhost:[port]/Krieg/rest/app/service/getCount gibt mir... [Zeit] 000000a1 RequestProces ich org.apache.wink.server.intern.RequestProcessor logException Der folgende Fehler trat beim Aufruf der Handler-Kette: WebApplicationException (404 - Nicht Gefunden) mit der Meldung 'null' während der Verarbeitung von GET-Anfrage an [url]
Ich bin fertig, es zu betrachten und es glauben oder nicht, ich denke, es hat zu tun mit 8.5 nicht unterstützt, etwas niedriger, die Servlet 3.0. Das heißt, ich habe die Verwendung der ApplicationPath annotation. Ich bestätige dann die Antwort.
InformationsquelleAutor Aviram Segal
Das Problem zu sein scheint in Bezug auf 8,5 nur die Unterstützung v3 servlets. dies scheint das Problem zu beheben....
Sollte diese stellen nun gut...
Hier war meine Quelle IBM
Eigentlich hätte ich nicht die alte Art und Weise, überhaupt zu arbeiten. Nicht sicher, ob es war der hacky Weise, die ich verwendet, Juno und 8,5 oder was. Aber auf 8.5 in allem nur das neue Weg war.
Das ist gut zu hören, werde ich wohl in dieser in einer sehr kurzen Zeit
InformationsquelleAutor Jackie
Können, können Sie auch versuchen, kaufen, ändern Sie die unten web.xml Datei
Außerdem, In Projekt-Facetten - Ändern Web Modul version 3.0
Weitere Referenz Besuchen: Zum bereitstellen einer JAX-RS-Anwendung?
InformationsquelleAutor Prashant.jha