Редактировать: чтобы упростить мой вопрос, кому-нибудь удалось пообщаться с
Activiti используя rest ?, и если да, то не могли бы вы опубликовать свой код.
спасибо.
Некоторое время я боролся за то, чтобы войти в Activiti с помощью Rest. Я следовал инструкциям API и реализовал следующее
Код:
package demo;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.UniformInterfaceException;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.core.util.MultivaluedMapImpl;
import com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider;
public class Aloha {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Client client = Client.create();
WebResource webResource = client
.resource("http://localhost:8080/activiti-rest/service/login");
MultivaluedMap<String, String> formData = new MultivaluedMapImpl();
formData.add("userId", "kermit");
formData.add("password", "kermit");
ClientResponse response;
try {
response = webResource.type("application/x-www-form-urlencoded")
.post(ClientResponse.class, formData); // webResource.accept(MediaType.TEXT_PLAIN_TYPE).post(ClientResponse.class,
// formData);
System.out.print(response.toString());
} catch (UniformInterfaceException ue) {
System.out.print(ue.getMessage());
}
}
}
Как видите, я использую Джерси для использования веб-сервиса, и вот ответ, который я получаю все время:
Цитата:
POST http://localhost:8080/activiti-rest/service/login returned a response status of 415 Unsupported Media Type
Пожалуйста, не могли бы вы указать, что я здесь делаю неправильно?
Обратите внимание, что когда я заменяю тип на «application / json», я получаю следующую ошибку:
Код:
Exception in thread "main" com.sun.jersey.api.client.ClientHandlerException: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class com.sun.jersey.core.util.MultivaluedMapImpl, and MIME media type, application/json, was not found
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:563)
at demo.Aloha.main(Aloha.java:32)
Caused by: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class com.sun.jersey.core.util.MultivaluedMapImpl, and MIME media type, application/json, was not found
at com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:288)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:204)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147)
... 5 more
Большое спасибо,