Java 无法调用请求(REST调用)

Java 无法调用请求(REST调用),java,json,rest,jersey,jackson,Java,Json,Rest,Jersey,Jackson,我目前正在使用Jersey/Jackson从客户端到服务器进行REST调用 客户端: ResteasyClient client = new ResteasyClientBuilder().build(); ResteasyWebTarget target = client.target("http://localhost:8080/TrustBasedRecommendation/restservice/adduser"); Response responseTo = target.

我目前正在使用Jersey/Jackson从客户端到服务器进行REST调用

客户端:

ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://localhost:8080/TrustBasedRecommendation/restservice/adduser");     
Response responseTo = target.request().post(Entity.entity(json, MediaType.TEXT_HTML));
if (responseTo.getStatus() != 200) {
throw new Exception("Failed : HTTP error code : " + responseTo.getStatus() +" "+ responseTo.readEntity(String.class) );
javax.ws.rs.ProcessingException: Unable to invoke request

Caused by: javax.ws.rs.ProcessingException: could not find writer for content-type text/html type: java.lang.String at org.jboss.resteasy.core.interception.ClientWriterInterceptorContext.throwWriterNotFoundException(ClientWriterInterceptorContext.java:40)
服务器端-只是一个打印字符串的测试

@POST
@Path("/adduser")
@Consumes(MediaType.TEXT_HTML)
public Response addUser(String user)
{
    System.out.println("Inside add user "+user);
    String failedMessage = "failed to add user";
    String successMessage = "user successfully added";
我得到以下异常:

ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target("http://localhost:8080/TrustBasedRecommendation/restservice/adduser");     
Response responseTo = target.request().post(Entity.entity(json, MediaType.TEXT_HTML));
if (responseTo.getStatus() != 200) {
throw new Exception("Failed : HTTP error code : " + responseTo.getStatus() +" "+ responseTo.readEntity(String.class) );
javax.ws.rs.ProcessingException: Unable to invoke request

Caused by: javax.ws.rs.ProcessingException: could not find writer for content-type text/html type: java.lang.String at org.jboss.resteasy.core.interception.ClientWriterInterceptorContext.throwWriterNotFoundException(ClientWriterInterceptorContext.java:40)
我正试图从我的客户机向服务器发送一个“字符串”(JSON)

请帮忙

  • R

我不确定你用哪个罐子做“泽西”。但是,每当我使用以下依赖项时,我都会遇到这种问题

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.9.1</version>
        </dependency>

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-client</artifactId>
            <version>1.9.1</version>
        </dependency>

泽西岛
泽西服务器
1.9.1
泽西岛
泽西岛客户
1.9.1
然后我搬到了泽西包袱,一切都很好

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-bundle</artifactId>
    <version>1.18.1</version>
</dependency>

泽西岛
球衣束
1.18.1

你也可以试一试。

我不确定你用了哪个罐子做“泽西”。但是,每当我使用以下依赖项时,我都会遇到这种问题

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.9.1</version>
        </dependency>

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-client</artifactId>
            <version>1.9.1</version>
        </dependency>

泽西岛
泽西服务器
1.9.1
泽西岛
泽西岛客户
1.9.1
然后我搬到了泽西包袱,一切都很好

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-bundle</artifactId>
    <version>1.18.1</version>
</dependency>

泽西岛
球衣束
1.18.1

您也可以试一试。

您尝试调用的web服务的代码在哪里?@Balduz服务器端代码已添加。但代码在调用之前就失败了。我想。它在“响应”行(第3行)中失败。您对
JSON
使用了错误的mime类型。尝试使用
application/json
而不是
TEXT\u HTML
。您试图调用的web服务的代码在哪里?@Balduz服务器端代码已添加。但代码在调用之前就失败了。我想。它在“响应”行(第3行)中失败。您对
JSON
使用了错误的mime类型。尝试使用
application/json
而不是
TEXT\u HTML
。我已经复制了jar文件。有两个NoClassFoundException,我修复了它们(导入的javax.ws.rs.jar)文件,然后我又遇到了同样的问题!我已经复制了jar文件。有两个NoClassFoundException,我修复了它们(导入的javax.ws.rs.jar)文件,然后我又遇到了同样的问题!