Android: Json-POST Request zu REST Webservice

chamaken

Mitglied
Hi,

ich weiß nicht genau, in welche Sparte diese Frage genau gehört.
Folgendes Problem:

Ich hab mit Hilfe von Jersey einen minimalen REST-Webservice in Java geschrieben, der u.a. folgende POST-Methode enthält:

Java:
@POST
@Path("/test/{json}")
@Consumes("application/json")
@Produces("application/json")
public JSONObject postAllData(@PathParam("json") JSONObject data_json) {

	try {
		data_json.put("last", "last test value");
	} catch (JSONException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return data_json;
}


Diese Methode möchte ich gerne in einer Android-Applikation aufrufen, was ich folgendermaßen versuche (die genaue Adresse habe ich extra nicht veröffentlicht):


Java:
JSONObject json = new JSONObject();
	try {
		json.put("one", "test it once");
		json.put("two", "test it twice");
	} catch (JSONException e1) {
		e1.printStackTrace();
	}

URL = "http://xxx.xxx.xxx.xxx:8080/RestProjekt/rest/test";
		HttpClient httpclient = new DefaultHttpClient();
		HttpPost httpPost = new HttpPost(URL);
		StringEntity s = new StringEntity(json.toString());

		HttpResponse response;
		httpPost.setEntity(s);
		httpPost.setHeader("Accept", "application/json");
		httpPost.setHeader("Content-Type", "application/json");

		response = httpclient.execute(httpPost);
		StatusLine statusLine = response.getStatusLine();
		Log.d(TAG, "Status RestClient POST: " + statusLine.getStatusCode());

Jedoch bekomme ich immer den Fehler 404 angezeigt - was mache ich falsch?

Zur Info:
- die Internet-Permission ist gesetzt (ein GET-Aufruf funktioniert problemlos)
- rufe ich die Methode mitels einer "normalen" Java-Applikation (mit Jersey) auf, funktioniert es

Wäre super, wenn ihr mir helfen könntet :)
 

Bizarrus

Bekanntes Mitglied
Hast du mal probiert die URL direkt über den Webbrowser anzusprechen? Bekommst du da auch 404 Header?

Wie ich das nun jetzt verstanden habe, nutzt du auch eine Applikation, die als ein "Webserver" arbeitet und die Daten in einem HTTP-Response gibt? Warum nimmst du nicht direkt einen Webserver und lässt die Daten direkt über PHP verarbeiten - Derartiges ist im ein deutiges leichter und vorallem schneller zu visualisieren.
 

chamaken

Mitglied
Danke für die Antwort, ich hab den Fehler am Freitag noch gefunden.

Nach dem Entfernen der Parameterangabe (@PathParam("json")) und des Pfadteils ({json}) hat alles wunderbar funktioniert:
Java:
@POST
@Path("/test")
@Consumes("application/json")
@Produces("application/json")
public JSONObject postAllData(JSONObject data_json) {
 
    try {
        data_json.put("last", "last test value");
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return data_json;
}

Die Vorgehensweise wurde mir übrigens vorgetragen, keine weiteren Varianten möglich ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
Lauezl Kryonnet Sever(PC),Cleint(Android) Netzwerkprogrammierung 4
W Wifi verbinden durch SharensPreferens Android Studio Netzwerkprogrammierung 0
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
platofan23 Probleme mit Socket bei Android Studio? Netzwerkprogrammierung 22
S Bluetooth Verbindung zwischen Android app und Raspberry Pi 3 Netzwerkprogrammierung 1
H Android - PC kommunikation Netzwerkprogrammierung 3
K C# Server - Android Client Netzwerkprogrammierung 0
F Socket Java Server mit Android App, Antwort vom Server an App Netzwerkprogrammierung 5
B TCP Client Android Netzwerkprogrammierung 3
1 Java to Android TCP Kommunikation Netzwerkprogrammierung 2
OnDemand Json Objekt leeres Array beim lesen Netzwerkprogrammierung 9
T JSON-Objekte richtig parsen Netzwerkprogrammierung 8
C JSON, API ... Anfänger braucht eure Hilfe Netzwerkprogrammierung 10
X Response eines RESTful-Service mit JSON Netzwerkprogrammierung 8
F Neuer Json aus teilen eines vorhandenen Json Netzwerkprogrammierung 0
F GSON wenn das Json verschiedene Klassen enthält Netzwerkprogrammierung 1
J Json von Html request einlesen Netzwerkprogrammierung 0
O Client zwischen XML und JSON auswählen lassen Netzwerkprogrammierung 2
A Server Antwort enthält JSON Objekt/Array Netzwerkprogrammierung 8
B Authentifikation und anschliesendes auslesen von JSON Netzwerkprogrammierung 2
F http Post auf einen Grafana Server Netzwerkprogrammierung 3
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
O HTTP Bilderübergabe per POST Netzwerkprogrammierung 1
T HTTPS-Requests an Server: POST-Parameter kommen nicht an Netzwerkprogrammierung 5
N Post u Head Request an Server Netzwerkprogrammierung 4
F HTTP POST - "Already connected" Netzwerkprogrammierung 0
nrg FileUpload HTTP POST Netzwerkprogrammierung 5
R HTTP Post HTML Netzwerkprogrammierung 5
S HTTP Probleme mit POST-Befehl Netzwerkprogrammierung 2
D daten per post senden Netzwerkprogrammierung 3
B Post Request in Java Netzwerkprogrammierung 11
C HTTP POST Connect Netzwerkprogrammierung 9
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 2
I HTTP Post aus html in Java einlesen - Problem Netzwerkprogrammierung 6
T HTTP POST Request Netzwerkprogrammierung 3
C HTTP Studienarbeit Kommunikation via HTTP mit POST zwischen Server und Client Netzwerkprogrammierung 7
ARadauer POST Request absetzen.. Netzwerkprogrammierung 3
lordcarlos HTTP Apache HttpClient, post und login. Netzwerkprogrammierung 2
D Verbindung zu einem Server - POST Netzwerkprogrammierung 2
T HttpClient - Senden via Post Netzwerkprogrammierung 12
S HttpURLConnection POST splittet Daten in zwei Pakete Netzwerkprogrammierung 9
hdi POST Request (HttpConnection) Netzwerkprogrammierung 6
M Http POST liefert kryptischen Content Netzwerkprogrammierung 4
F POST-Daten sende Netzwerkprogrammierung 3
B Wie HTTP GET/POST Anfrage versenden? Netzwerkprogrammierung 7
N Per POST -Methode Daten an den Web-Server übertragen. Netzwerkprogrammierung 9
S Probleme beim senden von Daten per POST Methode an PHP Scrip Netzwerkprogrammierung 5
J 403 error bei POST request Netzwerkprogrammierung 3
J Post-Daten an URL schicken Netzwerkprogrammierung 2
E upload progress bei einem http file post Netzwerkprogrammierung 5
M erst POST dann Http-Request über URLConnection Netzwerkprogrammierung 3
G.I.Joe Datei per POST übertragen Netzwerkprogrammierung 2
J HTTP-POST-Request mit Anhang über Socket Netzwerkprogrammierung 2
E In Webseite einloggen/ GET, POST an PHP-Script übergeben Netzwerkprogrammierung 2
B totale HTTP/1.0 Verwirrung bei POST Netzwerkprogrammierung 5
U Webformular ausfüllen ( Post ) Netzwerkprogrammierung 7
S object via post auf servlet send und weiter bearbeiten Netzwerkprogrammierung 11
A daten an php script per post senden und ausgabe einlesen Netzwerkprogrammierung 6
O Per POST automatisch auf Website einloggen... Netzwerkprogrammierung 9
C POST-Parameter aus HTML-Script lesen Netzwerkprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben