Я не могу найти правильную зависимость для реализации клиента REST с помощью tomEE и CXF.Как реализовать REST-клиент с tomee и CXF с помощью MultivaluedMap?
Мой модуль имеет такую зависимость:
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>tomee-jaxrs</artifactId>
<version>1.7.1</version>
<scope>provided</scope>
</dependency>
Начальная реализация клиента проста. Он должен обслуживать почтовый метод и представлять MultiValueMap.
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import org.apache.cxf.jaxrs.client.WebClient;
import org.apache.cxf.jaxrs.ext.form.Form;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class RestClient<T> {
private static final Logger LOG = LoggerFactory.getLogger(RestClient.class);
private WebClient client;
private Class<T> type;
public RestClient(Class<T> aType, String aBaseUrl, String aPath) {
this.client = WebClient.create(aBaseUrl);
this.client.path(aPath);
this.client.accept(MediaType.APPLICATION_JSON);
this.type = aType;
}
public T post(MultivaluedMap<String, String> params) {
LOG.debug("sending POST request to: " + this.client.getCurrentURI());
Form theForm = new Form(params);
T theReponse = (T) this.client.post(theForm, this.type.getClass());
return theReponse;
}
}
Проблема заключается в том, что я не могу понять реализацию javax.ws.rs.core.MultivaluedMap. В результате я не могу назвать свой метод. :( Я вижу только интерфейс. Является ли CXF полностью предоставленным моим pom.xml и не имеет ли он реализации этого интерфейса? Какую зависимость я должен использовать для обеспечения правильной работы CXF с помощью tomEE?
я не нашел ни одного примера, на веб-сайте.
thank вы! Это помогло. Anymway теперь маршалинг от json to T не работает, но это другая проблема. –