2017-11-05 10 views
0

Jersey와 Jackson이있는 Azure App 서비스에서 Jetty 9.4.5를 실행 중입니다.JSON 415 미디어 유형 Azure App Services에서 Jetty 와만 지원되지 않음

내 서버가 Azure App 서비스에서 호스팅되지만 서버를 로컬에서 실행할 때 요청을 처리하는 문제가 발생했습니다. 로컬에서는 Content-Type: application/json과 함께 POST 요청을 보낼 수 있습니다. Azure에서 실행할 때, 서버는 415 Media Type Unsupported 오류를 리턴합니다.

Azure에서 실행 중일 때 요청이 경로에 대한 내 필터에 성공적으로 도달했으며 필터에 문제없이 엔티티를 읽을 수 있습니다. 세계화 태그를 사용하여 web.config 파일에서 IIS 용 UTF-8 인코딩을 설정했습니다.

Azure가이 요청을 간섭하기 위해 할 수있는 다른 것이 있습니까?

+0

미디어 유형 지원되지 않음은 데이터 형식이 부적절하여 서비스의 본문 인수로 전달되었습니다. 나는이 문제가 Azure의 서비스와 모든 것에 기인한다고 생각하지 않는다. 감사 :). –

+0

작성한 코드를 게시하십시오. 그러면 도움이 고려 될 것입니다. 감사 :) –

답변

0

Maven Shade 플러그인을 사용하여 배포 가능한 JAR을 만든 결과로 문제가 발생했습니다. 서버를 로컬에서 실행할 때 Eclipse에서 실행 중입니다. JAR을 패키징 할 때 Maven Shade 플러그인은 올바르게 작동하지 않는 방식으로 여러 Jersey 라이브러리와 Jackson 라이브러리를 결합했습니다.

Eclipse를 사용하여 Export > Runnable JAR file을 사용하여 JAR을 내보내고 Copy required libraries into a sub-folder next to the generated JAR 옵션을 선택하면 배포가 Azure에서 작동합니다.

answer은 Maven Shade 패키징의 문제점을 설명합니다.