編集:私の質問を単純化するために、誰かがrestを使用してActivitiと通信することができましたか?もしそうなら、あなたは親切にあなたのコードを投稿できますか?ありがとう。
Restを使用してActivitiにログインするのにしばらく苦労しています。私は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());
}
}
}
ご覧のとおり、私はジャージーを使用してWebサービスを利用しています。これが、私がいつも得ている応答です。
引用:
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
どうもありがとう、