Ich verwende das RESTEasy-Client-Framework, um einen REST-fähigen Webservice aufzurufen. Der Aufruf erfolgt über einen POST und sendet einige XML-Daten an den Server. Wie erreiche ich das?
Was ist die magische Beschwörungsformel von Anmerkungen, um dies zu erreichen?
Ich denke, David bezieht sich auf das RESTeasy "Client Framework". Daher ist deine Antwort (Riduidel) nicht besonders, wonach er sucht. Ihre Lösung verwendet HttpUrlConnection als HTTP-Client. Die Verwendung des Resteasy-Clients anstelle von HttpUrlConnection oder DefaultHttpClient ist vorteilhaft, da der Rasteasy-Client JAX-RS-fähig ist. Um den RESTeasy-Client zu verwenden, konstruieren Sie org.jboss.resteasy.client.ClientRequest-Objekte und erstellen Anforderungen mit ihren Konstruktoren und Methoden. Im Folgenden möchte ich Davids Frage mit dem Client-Framework von RESTeasy implementieren.
%Vor%Hoffe, das hilft, Charlie
Ich habe mir dieses Beispiel geliehen: Bauen Sie einen erholsamen Service mit RESTEasy auf das folgende Codefragment, das genau das zu tun scheint, was Sie wollen, nein?
%Vor%Ich hatte einige Schwierigkeiten herauszufinden, wie das geht, also dachte ich, ich würde es hier posten. Die Verwendung des RESTEasy-Proxy-Client-Mechanismus ist eigentlich peinlich einfach.
Wie Charles Akalugwu nahelegt, können Sie mit diesem Ansatz eine einzige Java-Schnittstelle erstellen, die Sie sowohl auf der Client- als auch auf der Serverseite verwenden können. Dies führt sowohl zu client- als auch serverseitigem Code, der offensichtlich und einfach zu verwenden ist. p>
Deklarieren Sie zuerst eine Java-Schnittstelle für den Service. Dies wird sowohl auf der Client- als auch auf der Serverseite verwendet und sollte alle JAX-RS-Deklarationen enthalten:
%Vor%Als nächstes schreiben Sie einen Server, der diese Schnittstelle implementiert. Es ist so einfach wie es aussieht:
%Vor%Um die Frage zu beantworten, wie Sie mit dem RESTEasy Client Framework Daten in einem POST senden können, müssen Sie nur die Service-Schnittstelle von der Client-Seite aus über einen RESeasy-Proxy aufrufen, und RESTEasy erledigt den POST für Sie. So erstellen Sie den Client-Proxy:
%Vor%Um Daten an den Dienst zu senden:
%Vor%Wenn Sie in einen vorhandenen REST-Service schreiben, können Sie natürlich das Problem lösen, indem Sie eine Java-Schnittstelle nur für den Client schreiben.