SOAP 서비스에 액세스하기 위한 변수 선언

SOAP 서비스에 액세스하는 방법에 대한 추가 세부사항을 제공하기 위해 인터페이스 파트를 기반으로 변수를 작성할 수 있습니다. 예를 들면 다음과 같습니다.
myService WeatherForcast {@webBinding
                             {wsdlLocation="wsdl/weatherForecast",
                              wsdlService="wsdlforecast",
                              wsdlPort="wsdlport"};

위 선언에서는 두 가지 특성(@webBinding@BindService) 중 하나를 지정할 수 있으며, 각 특성은 웹 서비스에 액세스하는 방법을 나타내는 세부사항을 지정하는 방법을 제공합니다. @webBinding 특성을 사용하면 WSDL 파일 세부사항을 코드에 직접 지정할 수 있습니다. @BindService 특성을 사용하면 배치 디스크립터에 이러한 세부사항을 지정할 수 있습니다. 이 특성은 구성 시에 변경할 수 있습니다.

이 두 가지 특성은 상호 배타적입니다.
@webBinding
웹 서비스에 액세스하는 방법을 나타내는 세부사항을 코드에 지정하려면 이 특성을 사용하십시오. @webService 복합 특성을 작성할 필요는 없습니다. Rich UI는 WSDL 파일로부터 작성된 인터페이스 파트를 포함하는 파일에 저장되는 주석에 이 세부사항을 기록합니다. 이 특성 필드는 다음과 같습니다.
wsdlLocation
WSDL 파일의 이름 및 위치를 식별하는 문자열입니다. 이 위치는 프로젝트의 루트 디렉토리에 따라 상대적입니다. 예를 들어, 파일의 이름이 weatherForecast.wsdl이며 wsdl 폴더에 있는 경우 이 문자열은 "wsdl/weatherForecast.wsdl"입니다.
wsdlPort
WSDL 파일의 wsdl:service 요소 내에 있는 wsdl:port 요소의 이름을 식별하는 문자열입니다.
wsdlService
WSDL 파일에 있는 wsdl:service 요소의 이름을 식별하는 문자열입니다.
uri
uri는 문자열이며 지정되는 경우 WSDL 파일에 지정된 URL을 대체합니다. WSDL 파일에 지정된 위치가 아닌 위치(예: 프로덕션 또는 테스트에 사용되는 다른 서비스 버전)에서 서비스를 사용할 수 없는 경우에는 해당 위치를 여기에 입력하고 해당 서비스 버전을 대신 사용할 수 있습니다. 기본적으로 이 값은 널입니다.
@BindService
EGL 배치 디스크립터에 있는 항목을 사용하여 웹 서비스에 액세스하는 방법을 나타내려면 이 특성을 사용하십시오. 이 특성을 사용하는 데는 두 가지 의미가 있습니다.
  • WSDL 파일을 사용하여 EGL 배치 디스크립터에 서비스 바인딩을 작성합니다.
  • 배치 디스크립터 편집기는 해당 파일로부터 파일 위치, wsdl:port 요소 및 wsdl:service 요소에 대한 세부사항을 유지합니다.

@BindService 특성에는 하나의 필드가 있습니다.

bindingKey
두 가지 세부사항을 포함하는 배치 디스크립터 항목을 식별합니다.
bindingKey 필드를 지정하지 않고 @BindService 특성을 지정할 수 있습니다. 이 경우 이 특성은 인터페이스 파트와 같은 이름을 가진 배치 디스크립터 항목을 식별합니다. 다음 예제는 이 사용법에 대한 예제이며, 이름이 WeatherForecast인 배치 디스크립터 항목을 참조합니다.
MyService WeatherForecast {@BindService{}}

EGL 배치 디스크립터를 설정하는 데 대한 세부사항은 "배치 디스크립터에 SOAP 서비스 바인딩 추가"를 참조하십시오.

각 SOAP 서비스 호출은 새 HTTP 세션을 사용하며 각 호출 간에는 세션 정보가 유지되지 않습니다. 사용자의 코드는 각 호출 간에 정보를 유지하는 세션 변수를 사용하는 서비스를 유효하게 호출할 수 없습니다.