JAX-RS 1.1 웹 애플리케이션 배치

JAX-RS(Java™ API for RESTful Web Services) 웹 애플리케이션을 어셈블한 후 웹 애플리케이션 아카이브(WAR) 패키지 또는 엔터프라이즈 아카이브(EAR) 패키지를 애플리케이션 서버에 배치할 수 있습니다.

시작하기 전에

JAX-RS 웹 애플리케이션을 배치하려면 RESTful 서비스에 대해 구성되고 사용 가능한 WAR 패키지 또는 EAR 패키지가 필요합니다.

이 태스크 정보

웹 애플리케이션을 배치하려면 모든 웹 애플리케이션에 컨텍스트 루트가 있어야 합니다. 각 웹 모듈의 컨텍스트 루트는 애플리케이션 어셈블리 또는 애플리케이션 배치 중에 애플리케이션 배치 디스크립터에 정의됩니다. 컨텍스트 루트는 WSR 파일에서 정의된 서블릿 맵핑과 결합되어, 사용자가 서블릿에 액세스하기 위해 입력하는 전체 URI를 구성합니다. 배치된 각 웹 애플리케이션에 대한 컨텍스트 루트는 서버에서 고유해야 합니다. 컨텍스트 루트는 비어 있을 수도 있습니다. 예를 들어, 웹 애플리케이션이 sample/application/의 컨텍스트 루트를 사용한 경우 웹 애플리케이션 요청 URL은 http://<hostname>:<port>/sample/application/으로 시작됩니다.

서블릿의 URL 패턴은 웹 애플리케이션의 컨텍스트 루트에 추가됩니다. 예를 들어, 컨텍스트 루트가 sample/application/이고 서블릿 URL 맵핑이 rest/api/*인 경우 JAX-RS 웹 애플리케이션의 기본 URI는 http://<hostname>:<port>/sample/application/rest/api입니다.

프로시저

애플리케이션 서버에 JAX-RS 웹 애플리케이션 WAR 패키지 또는 EAR 패키지를 배치하십시오. 웹 애플리케이션 배치에 대해 자세히 학습하려면 엔터프라이즈 애플리케이션 파일 설치를 참조하십시오.

결과

JAX-RS 웹 애플리케이션이 배치되었으며 비즈니스에서 사용할 수 있습니다.

링크를 따라 애플리케이션에 액세스할 수 있는 경우 또는 브라우저에 URL(Uniform Resource Locator)을 입력하여 애플리케이션에 액세스할 수 있는 경우 JAX-RS(Java API for RESTful Web Services) 웹 애플리케이션 배치에 성공합니다. 애플리케이션에 액세스할 수 없으면 이 단계를 수행하여 배치 중에 발생할 수 있는 몇 가지 공통 오류를 제거합니다.

문제점 방지 문제점 방지:

다음 팁을 사용하여 JAX-RS 웹 애플리케이션의 배치 중 공통 오류를 해결합니다.

HTTP 404 찾을 수 없음 오류 메시지는 서버 응답에서 클라이언트로 다시 전송됩니다.
이 문제점을 분석하려면 다음 조치를 수행하십시오.
  • 루트 자원 클래스가 @javax.ws.rs.Path 어노테이션으로 어노테이션이 작성되고 어노테이션의 값이 올바른지 확인하십시오. @Path 어노테이션 없는 루트 자원 클래스는 JAX-RS 런타임에 등록되지 않습니다. 자세히 학습하려면 RESTful 애플리케이션에서 자원에 대한 URI 패턴 정의 정보를 참조하십시오.
  • 루트 자원 클래스가 javax.ws.rs.core.Application 클래스의 서브클래스에 대한 getClasses() 메소드에서 리턴되는 클래스의 세트에 추가되는지 확인하십시오. javax.ws.rs.core.Application 클래스의 서브클래스에 등록되지 않는 클래스는 JAX-RS 런타임 환경에 의해 인식되지 않습니다. 자세히 학습하려면 RESTful 애플리케이션에서 자원에 대한 URI 패턴 정의 정보를 참조하십시오.
  • web.xml 구성이 예상 URL 패턴에서 올바른지 확인하십시오. JAX-RS 서블릿 및 필터 정보에 대한 자세한 정보는 web.xml을 참조하십시오.
  • 사용 중인 URL이 올바르며, 컨텍스트 루트를 포함하는지 확인하십시오. 서블릿을 사용하는 경우 서블릿 URL 패턴은 최종 URL의 일부입니다. 필터 사용은 웹 애플리케이션에 더 적절합니다. JAX-RS 서블릿 및 필터 정보에 대한 자세한 정보는 web.xml 파일을 참조하십시오.
HTTP 405 허용되지 않은 메소드 오류 메시지는 서버 응답에서 클라이언트로 다시 전송됩니다.
요청 URL의 서블릿 URI가 자원 메소드 경로 값과 일치하지만 전송된 HTTP 메소드가 메소드 어노테이션과 일치하지 않으면 HTTP 상태 코드 405 허용되지 않은 메소드가 리턴됩니다.

다음 코드 예제에서 요청 URL은 sayhello로 종료되지만, 요청은 GET 대신 POST를 포함하므로 405가 리턴됩니다.

@javax.ws.rs.Path("helloworld")
public class SampleResource {

...

@javax.ws.rs.Path("sayhello")
@javax.ws.rs.GET
public String getHello() { ...

이 문제점을 분석하려면 다음 조치를 수행하십시오.

  • 전송된 HTTP 메소드가 메소드 어노테이션과 일치하는지 확인하십시오.
HTTP 406 허용할 수 없음 오류 메시지는 서버 응답에서 클라이언트로 자동으로 다시 전송됩니다.
이 문제점을 분석하려면 다음 조치를 수행하십시오.
  • 수신 요청의 HTTP 요청 승인 헤더가 올바른지 확인하십시오. 자세히 학습하려면 HTTP 헤더 정보에 기반하는 컨텐츠 조정 구현을 참조하십시오.
  • 자원 메소드 또는 자원 클래스에서 @javax.ws.rs.Produces 값이 수신 Accept HTTP 요청 헤더와 호환 가능한지 확인하십시오. 자세히 학습하려면 RESTful 애플리케이션에서 자원의 미디어 유형 정의를 참조하십시오.
HTTP 415 지원되지 않는 매체 유형 오류 메시지는 서버 응답에서 클라이언트로 자동으로 다시 전송됩니다.
이 문제점을 분석하려면 다음 조치를 수행하십시오.
  • 수신 요청의 Content-Type HTTP 요청 헤더가 올바르고 전송되었는지 확인하십시오. 자세히 학습하려면 RESTful 애플리케이션에서 자원의 미디어 유형 정의를 참조하십시오.
  • 자원 메소드 또는 자원 클래스에서 @javax.ws.rs.Consumes 값이 수신 Content-Type HTTP 요청 헤더와 호환 가능한지 확인하십시오.
HTTP 204 컨텐츠 없음 응답 상태는 서버 응답에서 클라이언트로 자동으로 다시 전송됩니다.
이 문제점을 분석하려면 다음 조치를 수행하십시오.
  • 자원의 널 응답으로 인해 204 컨텐츠 없음 응답 코드가 생성되는지 판별하십시오.
gotcha

알려진 문제점 및 해결법에 대한 정보는 IBM 지원 센터 페이지를 참조하십시오.

IBM® 지원 센터에서 제공하는 문서를 사용하면 이 문제점을 해결하기 위한 정보 수집 시간을 절약할 수 있습니다.


주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_deploy
파일 이름:twbs_jaxrs_deploy.html