웹 서비스(J2EE 1.3에서 J2EE 1.4로)

J2EE 1.4 스펙에서는 새 JAX-RPC 1.0 API를 통해 웹 서비스에 대한 지원을 추가했습니다.
JAX-RPC API에서는 다음을 통해 서비스 엔드포인트를 지원합니다. J2EE 1.4 스펙에서는 J2EE 스펙에 대한 웹 서비스를 지원합니다(JSR 109). JSR 109에서는 웹 서비스에 대한 배치 요구사항을 정의하며 JAX-RPC 프로그래밍 모델을 사용합니다.
다음 웹 서비스 아티팩트가 J2EE 마이그레이션 마법사를 사용하여 마이그레이션됩니다.
  • 웹 서비스 디스크립터
  • 웹 서비스 클라이언트 디스크립터
  • JAX-RPC 맵핑 디스크립터

웹 서비스 배치 디스크립터 마이그레이션

J2EE 1.4 스펙 레벨로 마이그레이션되는 J2EE 1.3 프로젝트에 포함된 웹 서비스 배치 디스크립터를 JSR-109 V1.0(J2EE 1.3의 경우)에서 J2EE 1.4로 마이그레이션할 수 있습니다.

JSR-109 V1.0에 의해 정의된 대로 웹 서비스 배치 디스크립터는 webservices.xmlwebservicesclient.xml 파일과 webservices.xmlwebservicesclient.xml 파일에 의해 참조되는 모든 JAX-RPC 맵핑 배치 디스크립터로 구성됩니다. 다른 J2EE 배치 디스크립터에서와 같이 마이그레이션에서는 J2EE 1.4 스펙을 준수하도록 하기 위해 디스크립터에 포함된 정보의 구조를 수정합니다. 웹 서비스 배치 디스크립터에 대해 고유한 하나의 구조적 변경은 규정된 이름이 표시되는 방법에 대한 변경입니다. JSR-109 V1.0에서는 네임스페이스 URI 및 이름의 로컬 파트가 각각 포함된 두 개의 요소(<namespaceURI><localpart>)의 시퀀스를 사용하여 규정된 이름이 표시됩니다. J2EE 1.4의 규정된 이름은 XML 네임스페이스를 사용하는 XMLSchema QName 유형을 기반으로 합니다.

각 웹 서비스 배치 디스크립터의 마이그레이션에 대한 추가 세부사항이 아래에 제공됩니다.
  • 웹 서비스 디스크립터(webservices.xml)

    webservices.xml 배치 디스크립터는 J2EE 웹 서비스가 포함된 EJB 프로젝트 및 웹 프로젝트에 있습니다. <wsdl-port> 요소와 <soap-header> 요소에는 규정된 이름이 포함되어 있으며 이들 요소의 컨텐츠는 J2EE 1.4 형식으로 마이그레이션됩니다.

    예를 들어, 마이그레이션 전에 <wsdl-port>가 다음과 같이 표시되는 경우

    <wsdl-port>
      <namespaceURI>http://addressbook.webservice</namespaceURI>
      <localpart>AddressBook</localpart>
    </wsdl-port>

    마이그레이션 후 <wsdl-port>는 다음과 같이 표시됩니다.

    <wsdl-port xmlns:pfx="http://addressbook.webservice">pfx:AddressBook</wsdl-port>

    접두부 "pfx"가 마이그레이션되는 규정된 이름 모두의 네임스페이스 접두부로 사용됩니다.

  • 웹 서비스 클라이언트 디스크립터(webservicesclient.xml)
    webservicesclient.xml 배치 디스크립터는 J2EE 웹 서비스 클라이언트가 포함된 J2EE 1.3 웹 프로젝트, EJB 프로젝트 및 애플리케이션 클라이언트 프로젝트에 있습니다. J2EE 1.3에서 1.4로 마이그레이션하는 동안 webservicesclient.xml의 컨텐츠는 프로젝트의 배치 디스크립터로 마이그레이션되어 이동됩니다. 발생하는 프로세스는 다음과 같습니다.
    • 웹 프로젝트의 경우 webserivcesclient.xml에 있는 모든 <service-ref> 요소가 web.xml의 <web-app> 요소 아래로 이동됩니다.
    • 애플리케이션 클라이언트 프로젝트의 경우 webservicesclient.xml에 있는 모든 <service-ref> 요소가 application-client.xml에 있는 <application-client> 요소 아래로 이동됩니다.
    • EJB 프로젝트의 경우 webserviceclient.xml<component-scoped-refs>에 있는 모든 <service-ref> 요소가 ejb-jar.xml의 해당 <enterprise-bean> 아래로 이동됩니다.
    • Webservicesclient.xml이 삭제됩니다.

    <service-qname> 요소와 <soap-header> 요소에는 규정된 이름이 포함되어 있으며 이들 요소의 컨텐츠는 J2EE 1.4 형식으로 마이그레이션됩니다. 예를 들어, 마이그레이션 전에 <service-qname>이 다음과 같이 표시되는 경우

    <service-qname>
      <namespaceURI>http://addressbook.webservice</namespaceURI>
      <localpart>AddressBookService</localpart>
    </service-qname>

    마이그레이션 후 <service-qname>는 다음과 같이 표시됩니다.

    <service-qname xmlns:pfx="http://addressbook.webservice">pfx:AddressBookService</service-qname>

    접두부 "pfx"가 마이그레이션되는 규정된 이름 모두의 네임스페이스 접두부로 사용됩니다.

  • JAX-RPC 맵핑 디스크립터

    webservices.xmlwebservicesclient.xml 배치 디스크립터는 둘 다 하나 이상의 JAX-RPC 맵핑 배치 디스크립터를 참조할 수 있습니다.

    webservices.xml 파일에서는 이러한 참조가 <jaxrpc-mapping-file> 요소 아래의 각 <webservice-description> 요소에 포함되어 있습니다. webservicesclient.xml 파일에서는 이러한 참조가 <jaxrpc-mapping-file> 요소의 각 <service-ref> 요소 아래에 포함되어 있습니다.

    J2EE 1.3에서 1.4로 마이그레이션하는 동안 webservices.xmlwebservicesclient.xml에서 참조된 모든 JAX-RPC 맵핑 배치 디스크립터가 마이그레이션됩니다. 마이그레이션에는 규정된 이름 모두를 J2EE 1.4 형식으로 마이그레이션하는 것이 포함됩니다(마이그레이션 후의 규정된 이름 예제는 webservices.xmlwebservicesclient.xml 관련 섹션 참조).


피드백