24.3.2. 필수 주석


24.3.2.1. 개요

Java 코드에서 서비스를 생성하려면 코드에 주석을 하나만 추가해야 합니다. SEI 및 구현 클래스 모두에 @WebService 주석을 추가해야 합니다.

24.3.2.2. @WebService 주석

@WebService 주석은 javax.jws.WebService 인터페이스에서 정의되며 인터페이스 또는 서비스로 사용할 클래스에 배치됩니다. @WebService 에 설명 된 속성이 있습니다. 표 24.1. “@WebService 속성”

표 24.1. @WebService 속성
속성설명

name

서비스 인터페이스의 이름을 지정합니다. 이 속성은 WSDL 계약에서 서비스 인터페이스를 정의하는 wsdl:portType 요소의 name 속성에 매핑됩니다. 기본값은 구현 클래스 이름에 PortType 을 추가하는 것입니다. [a]

targetNamespace

서비스가 정의된 대상 네임스페이스를 지정합니다. 이 속성을 지정하지 않으면 대상 네임스페이스는 패키지 이름에서 파생됩니다.If this property is not specified, the target namespace is derived from the package name.

serviceName

게시된 서비스의 이름을 지정합니다. 이 속성은 게시된 서비스를 정의하는 wsdl:service 요소의 name 속성에 매핑됩니다. 기본값은 서비스 구현 클래스의 이름을 사용하는 것입니다.

wsdlLocation

서비스의 WSDL 계약이 저장되는 URL을 지정합니다. 상대 URL을 사용하여 지정해야 합니다. 기본값은 서비스가 배포되는 URL입니다.

endpointInterface

구현 클래스에서 구현하는 SEI의 전체 이름을 지정합니다. 이 속성은 서비스 구현 클래스에서 특성이 사용되는 경우에만 지정됩니다.

portName

서비스가 게시되는 끝점의 이름을 지정합니다. 이 속성은 게시된 서비스의 끝점 세부 정보를 지정하는 wsdl:port 요소의 name 속성에 매핑됩니다. 기본값은 서비스 구현 클래스 이름에 추가 포트입니다.

[a] SEI에서 WSDL을 생성할 때 구현 클래스 이름 대신 인터페이스의 이름이 사용됩니다.
참고

@WebService 주석 속성의 값을 제공할 필요가 없습니다. 그러나 가능한 한 많은 정보를 제공하는 것이 좋습니다.

24.3.2.3. SEI에 주석 달기

SEI에서는 @WebService 주석을 추가해야 합니다. SEI는 서비스를 정의하는 계약이므로 @WebService 주석 속성에서 서비스에 대해 가능한 한 자세히 지정해야 합니다.

예 24.3. “@WebService 주석과 인터페이스”@WebService 주석을 사용하여 예 24.1. “간단한 SEI” 에 정의된 인터페이스를 표시합니다.

예 24.3. @WebService 주석과 인터페이스

package com.fusesource.demo;

import javax.jws.*;

@WebService(name="quoteUpdater",
            targetNamespace="http:\\demos.redhat.com",
	        serviceName="updateQuoteService",
            wsdlLocation="http:\\demos.redhat.com\quoteExampleService?wsdl",
            portName="updateQuotePort")
public interface quoteReporter
{
  public Quote getQuote(String ticker);
}

예 24.3. “@WebService 주석과 인터페이스”@WebService 주석은 다음과 같습니다.

서비스 인터페이스를 정의하는 wsdl:portType 요소의 name 속성 값이 quoteUpdater 임을 지정합니다.

서비스의 대상 네임스페이스가 http:\\demos.redhat.com 임을 지정합니다.

게시된 서비스를 정의하는 wsdl:service 요소의 값이 updateQuoteService 임을 지정합니다.

서비스가 http:\\demos.redhat.com\quoteExampleService?wsdl 에서 WSDL 계약을 게시하도록 지정합니다.

서비스를 노출하는 엔드포인트를 정의하는 wsdl:port 요소의 name 속성 값이 updateQuotePort 임을 지정합니다.

24.3.2.4. 서비스 구현에 주석 달기

@WebService 주석으로 SEI에 주석을 추가하는 것 외에도 @WebService 주석을 사용하여 서비스 구현 클래스에 주석을 달아야 합니다. 서비스 구현 클래스에 주석을 추가할 때 endpointInterface 속성만 지정해야 합니다. 예 24.4. “주석이 달린 서비스 구현 클래스” 에 표시된 대로 속성은 SEI의 전체 이름으로 설정해야 합니다.

예 24.4. 주석이 달린 서비스 구현 클래스

package org.eric.demo;

import javax.jws.*;

@WebService(endpointInterface="com.fusesource.demo.quoteReporter")
public class stockQuoteReporter implements quoteReporter
{
public Quote getQuote(String ticker)
  {
  ...
  }
}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.