2016-07-06 3 views
0

Ich brauche einen REST-Aufruf an eine Schnittstelle. Dazu verwende ich folgenden Code:JAX-RS Formular innerhalb einer Widfly

ClientConfig config = new ClientConfig(); 
Client client = ClientBuilder.newClient(config); 
Response res = client.target(url). 
    request(). 
    header("Authorization", "Basic " + basicAuthString). 
    buildPost(Entity.form(new Form("grant_type", "client_credentials"))). 
    invoke(); 

In einer eigenständigen Anwendung mit JAX-RS funktioniert das wie erwartet. Wenn ich diesen Code in einem Wildfly Anwendungsserver verwenden, erhalte ich folgende Fehlermeldung:

20:16:15,186 ERROR [stderr] (default task-5) Caused by: 
javax.ws.rs.ProcessingException: RESTEASY003215: could not find writer for content-type application/x-www-form-urlencoded type: javax.ws.rs.core.Form 

Wildfly nicht wissen, wie javax.ws.rs.core.Form, zu handhaben, die die Content-Type: application/x-www-form-urlencoded schafft. Welche Abhängigkeit vermisse ich?

[EDIT: 2016.07.07]

Dieser Fehler tritt für alle Daten, die ich senden möchten. Dies löst einen ähnlichen Fehler aus:

+0

. Fügen Sie dies in Ihrer Anfrage hinzu oder prüfen Sie, welchen Inhaltstyp erwartet wird, und fügen Sie diesen in der Kopfzeile hinzu ("Content-Type", "application/x-www-form-urlencoded") – Naruto

+0

Ergebnisse im selben Fehler. – Dennis

+0

Versuchen Sie, @Consumes ("application/x-www-form-urlencoded") in der API, zu der es aufruft, hinzuzufügen – Naruto

Antwort

0

Endlich, nach einem Tag des Debuggens: Entfernen der ClientConfig ist die Lösung!

Client client = ClientBuilder.newClient(); 
Response res = client.target(url). 
    request(). 
    post(Entity.entity("DATA", MediaType.TEXT_PLAIN)); 
Verwandte Themen