내 게시물 요청이 Jersey에서 500 내부 서버 오류를 반환합니다.

IsaacK

Jersey에 데이터를 게시하려고하는데 500 오류 만 표시됩니다. 내 GET 요청이 모두 잘 작동합니다.

아래는 내 클라이언트 코드입니다.

package main;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter;

public class MainClass {

    public static void main(String[] args) {


        try {
            Client client = Client.create();
            client.addFilter(new HTTPBasicAuthFilter("admin", "admin"));
            WebResource webResource = client
               .resource("http://localhost:7307/mysite/rest_service/postdataclass/postData");

            String input = "{\"name\":\"Violent Soho\",\"last\":\"Jesus Stole My Girlfriend\"}";

            ClientResponse response = webResource.type("application/json")
               .post(ClientResponse.class, input);

            if (response.getStatus() != 200) {
                throw new RuntimeException("Failed : HTTP error code : "
                     + response.getStatus());
            }

            System.out.println("Output from Server .... \n");
            String output = response.getEntity(String.class);
            System.out.println(output);
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

    }

}

그리고 여기 내 다른 수업이 있습니다.

package service.utils;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import beans.AASample;

@Path("postdataclass")
public class PostSample {

    @GET
    @Path("/sayHell")
    public Response sayHell() {

        return Response.status(Response.Status.OK).entity("Hell").build();
    }

    @POST
    @Path("/postData")
    @Consumes(MediaType.APPLICATION_JSON)
    public Response postData(AASample sample) {

        return Response.status(Response.Status.OK).entity("Profile " + sample.toString()).build();
    }

}

그리고 내 AAClass

package beans;

public class AASample {
    private String name;
    private String last;
    public AASample(String name, String last) {
        super();
        this.name = name;
        this.last = last;
    }
    public AASample() {
        super();
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getLast() {
        return last;
    }
    public void setLast(String last) {
        this.last = last;
    }
    @Override
    public String toString() {
        return "AASample [name=" + name + ", last=" + last + "]";
    }



}

다음은 Post Request를 할 때의 서버 로그입니다.

Jul 08, 2016 8:35:22 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 3 * Server has received a request on thread http-nio-8090-exec-4
3 > POST http://localhost:8090/mysite/rest_service/postdataclass/postData
3 > accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
3 > authorization: Basic YWRtaW46YWRtaW4=
3 > connection: keep-alive
3 > content-length: 43
3 > content-type: application/json
3 > host: localhost:8090
3 > user-agent: Java/1.8.0_20

Jul 08, 2016 8:35:23 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Spot Buddy Service] in context with path [/mysite] threw exception [org.glassfish.jersey.server.ContainerException: java.lang.AbstractMethodError: com.fasterxml.jackson.jaxrs.base.ProviderBase._configForReading(Lcom/fasterxml/jackson/databind/ObjectMapper;[Ljava/lang/annotation/Annotation;)Lcom/fasterxml/jackson/jaxrs/cfg/EndpointConfigBase;] with root cause
java.lang.AbstractMethodError: com.fasterxml.jackson.jaxrs.base.ProviderBase._configForReading(Lcom/fasterxml/jackson/databind/ObjectMapper;[Ljava/lang/annotation/Annotation;)Lcom/fasterxml/jackson/jaxrs/cfg/EndpointConfigBase;
    at com.fasterxml.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:644)
    at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:260)
    at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:236)
IsaacK

내 데이터를 수동으로 json 객체로 변환했습니다. 게시 방법을 다음으로 변경

@POST
@Path("/postData")
@Consumes(MediaType.APPLICATION_JSON)
public Response postData(String sample) {

    AASample object = StringToObjectConverter.getObject(sample);
    if(object != null){
         return Response.status(Response.Status.OK).entity("Object " + object.toString()).build();
    }else{
         return Response.status(Response.Status.OK).entity("We Failed Decoding :" + sample +":").build();
    }

}

StringToObjectConverter 클래스

package main
import java.io.IOException;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

import beans.AASample;

public class StringToObjectConverter {


    public static AASample getObject(String postedData) {
        AASample aaSample = null;
        ObjectMapper mapper = new ObjectMapper();
        try {
            aaSample = mapper.readValue(postedData, AASample.class);
        } catch (JsonGenerationException e) {
            aaSample = null;
        } catch (JsonMappingException e) {
            aaSample = null;
        } catch (IOException e) {
            aaSample = null;
        }
        return aaSample;
    }


}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Laravel API-JSONP 응답이 500 내부 서버 오류를 반환합니다.

분류에서Dev

Laravel 라우터가 오류 500 내부 서버 오류를 반환합니다.

분류에서Dev

게시물을 반복하는 동안 500 내부 서버 오류 (ActiveRecord) 발생

분류에서Dev

Microsoft Graph는 요청시 "내부 서버 오류"를 반환합니까?

분류에서Dev

aspx 페이지에 게시 요청을 보내는 경우 500 (내부 서버 오류)

분류에서Dev

ASP.NET 웹 API CreatedAtRoute가 500 내부 서버 오류를 반환합니다.

분류에서Dev

salt-api (cherrypy)는 로그인을 시도 할 때 HTTP / 1.1 500 내부 서버 오류를 반환합니다.

분류에서Dev

Phonegap ajax GET이 내부 서버 오류를 반환합니다.

분류에서Dev

웹 API-게시 객체가 내부 서버 오류 500을 반환합니다.

분류에서Dev

내 htaccess 파일을 편집 한 후 내 웹 사이트에서 500 내부 서버 오류를 반환합니다.

분류에서Dev

내부 서버 500 오류를 반환하는 프런트 엔드 PUT 요청에서 | 장고 뷰

분류에서Dev

Htaccess 재 작성 URL이 500 내부 서버 오류를 제공합니다.

분류에서Dev

MS 릴리스 관리-원격 서버에서 오류를 반환했습니다. (500) 내부 서버 오류

분류에서Dev

AJAX 게시물을 ASP로 보낼 때 500 (내부 서버 오류)

분류에서Dev

내부 서버 오류를 일으키는 모드 다시 쓰기, 오류 500

분류에서Dev

Retrofit Post 요청이 작동하지 않고 500 오류 코드가 나타납니다 (내부 서버 오류).

분류에서Dev

내 Ajax 요청이 Laravel에서 상태 오류 405를 반환합니다.

분류에서Dev

500 내부 서버 오류를 발생시키는 Apache 서버

분류에서Dev

POST 요청시 500 내부 서버 오류-슬림 프레임 워크

분류에서Dev

반환 view ()에서 내부 500 오류

분류에서Dev

AFNetworkingErrorDomain Code = -1011 "요청 실패 : 내부 서버 오류 (500)"

분류에서Dev

코드 = -1011 "요청 실패 : 내부 서버 오류 (500)

분류에서Dev

Facebook 등록의 암호 필드가 500 내부 서버 오류를 반환합니다.

분류에서Dev

heroku의 Flask 프로젝트가 500 개의 내부 서버 오류를 반환합니다.

분류에서Dev

JSP 파일이 때때로 내부 서버 500 오류를 발생시킵니다.

분류에서Dev

데이터베이스 오류 발생시 오류 메시지 대신 500 내부 서버 오류를 반환하는 Codeigniter

분류에서Dev

AJAX Laravel에 삽입하면 500 내부 서버 오류가 반환됩니다.

분류에서Dev

(500) 내부 서버 오류-API를 사용하여 웹 요청을 보낼 때

분류에서Dev

원격 서버에서 오류를 반환했습니다. (500) System.Net.HttpWebRequest.GetResponse ()의 서버에서 내부 서버 오류

Related 관련 기사

  1. 1

    Laravel API-JSONP 응답이 500 내부 서버 오류를 반환합니다.

  2. 2

    Laravel 라우터가 오류 500 내부 서버 오류를 반환합니다.

  3. 3

    게시물을 반복하는 동안 500 내부 서버 오류 (ActiveRecord) 발생

  4. 4

    Microsoft Graph는 요청시 "내부 서버 오류"를 반환합니까?

  5. 5

    aspx 페이지에 게시 요청을 보내는 경우 500 (내부 서버 오류)

  6. 6

    ASP.NET 웹 API CreatedAtRoute가 500 내부 서버 오류를 반환합니다.

  7. 7

    salt-api (cherrypy)는 로그인을 시도 할 때 HTTP / 1.1 500 내부 서버 오류를 반환합니다.

  8. 8

    Phonegap ajax GET이 내부 서버 오류를 반환합니다.

  9. 9

    웹 API-게시 객체가 내부 서버 오류 500을 반환합니다.

  10. 10

    내 htaccess 파일을 편집 한 후 내 웹 사이트에서 500 내부 서버 오류를 반환합니다.

  11. 11

    내부 서버 500 오류를 반환하는 프런트 엔드 PUT 요청에서 | 장고 뷰

  12. 12

    Htaccess 재 작성 URL이 500 내부 서버 오류를 제공합니다.

  13. 13

    MS 릴리스 관리-원격 서버에서 오류를 반환했습니다. (500) 내부 서버 오류

  14. 14

    AJAX 게시물을 ASP로 보낼 때 500 (내부 서버 오류)

  15. 15

    내부 서버 오류를 일으키는 모드 다시 쓰기, 오류 500

  16. 16

    Retrofit Post 요청이 작동하지 않고 500 오류 코드가 나타납니다 (내부 서버 오류).

  17. 17

    내 Ajax 요청이 Laravel에서 상태 오류 405를 반환합니다.

  18. 18

    500 내부 서버 오류를 발생시키는 Apache 서버

  19. 19

    POST 요청시 500 내부 서버 오류-슬림 프레임 워크

  20. 20

    반환 view ()에서 내부 500 오류

  21. 21

    AFNetworkingErrorDomain Code = -1011 "요청 실패 : 내부 서버 오류 (500)"

  22. 22

    코드 = -1011 "요청 실패 : 내부 서버 오류 (500)

  23. 23

    Facebook 등록의 암호 필드가 500 내부 서버 오류를 반환합니다.

  24. 24

    heroku의 Flask 프로젝트가 500 개의 내부 서버 오류를 반환합니다.

  25. 25

    JSP 파일이 때때로 내부 서버 500 오류를 발생시킵니다.

  26. 26

    데이터베이스 오류 발생시 오류 메시지 대신 500 내부 서버 오류를 반환하는 Codeigniter

  27. 27

    AJAX Laravel에 삽입하면 500 내부 서버 오류가 반환됩니다.

  28. 28

    (500) 내부 서버 오류-API를 사용하여 웹 요청을 보낼 때

  29. 29

    원격 서버에서 오류를 반환했습니다. (500) System.Net.HttpWebRequest.GetResponse ()의 서버에서 내부 서버 오류

뜨겁다태그

보관