클라이언트 응용프로그램이 웹 서비스로(부터) 송수신하는 메시지 사용자 정의

클라이언트 응용프로그램이 웹 서비스로(부터) 송수신하는 메시지의 XML 태그를 사용자 정의할 수 있습니다.

웹 서비스에 포함되는 각각의 조작에 대해 워크벤치는 해당 조작의 입력 및 출력 XML 메시지에 대해 설명하는 디폴트 XML 스키마를 생성합니다. 웹 서비스 조작의 입력 메시지가 XML로 되어 있을 경우 이 디폴트 XML 스키마에 따라 메시지에 태그가 부착됩니다. 조작에 대해 웹 서비스가 생성하는 모든 출력 메시지에도 디폴트 XML 스키마에 따라 태그가 부착됩니다.

웹 서비스 조작에 대해 XML 입력 메시지, 출력 메시지 또는 두 유형의 메시지 모두의 XSL 변환을 구성할 수 있습니다. 이러한 XSL 변환은 입력 및 출력 메시지 플로우 중에 발생합니다.

사용자 정의 SOAP/HTTP 및 HTTP POST(text/xml) 메시지의 플로우에는 입력 메시지와 출력 메시지에 대해 각각 하나씩 두 개의 XSL 변환이 포함됩니다. 사용자 정의 HTTP GET/POST(url 인코딩됨) 메시지의 플로우에는 출력 메시지에 대한 하나의 XSL 변환만 포함됩니다.

다음 섹션에서는 지원되는 메시지 프로토콜을 사용하는 메시지에 대한 XSL 변환에 대해 설명합니다.

SOAP/HTTP 메시지 프로토콜을 사용하는 XSL 변환

이 섹션에서는 SOAP/HTTP 메시지의 디폴트 메시지 플로우에 대해 설명한 후 XSL 변환을 통합하는 플로우에 대해 설명합니다.

웹 서비스 조작의 디폴트 메시지 플로우(XSL 변환이 포함되어 있지 않음)에서는 다음 단계를 수행합니다.
  1. 클라이언트 응용프로그램이 웹 서비스의 조작에 액세스하는 SOAP/HTTP 메시지를 송신합니다. 메시지 본문은 XML로 되어 있으며 디폴트 스키마에 따라 태그가 부착됩니다.
  2. 웹 서비스가 메시지를 수신하며 조작에 있는 스토어드 프로시저 호출 또는 SQL문을 데이터베이스에 전달합니다.
  3. 웹 서비스가 데이터베이스에서 응답을 수신한 후 조작의 디폴트 XML 스키마에 따라 태그가 부착되는 XML 메시지에 응답을 패키지화합니다.
  4. 웹 서비스가 응답을 클라이언트 응용프로그램에 송신합니다.
그림 1. 메시지의 디폴트 플로우
XSL 변환 구성시 웹 서비스 조작의 메시지 플로우에서는 다음 단계를 수행합니다.
  1. 클라이언트 응용프로그램이 웹 서비스의 조작에 액세스하는 SOAP/HTTP 메시지를 송신합니다. 사용자 정의 XML 스키마에 따라 SOAP 본문의 XML 메시지에 태그가 부착됩니다.
  2. 메시지가 변환되어 디폴트 XML 스키마에 따라 태그가 부착됩니다.
  3. 웹 서비스가 메시지를 수신하며 조작에 있는 스토어드 프로시저 호출 또는 SQL문을 데이터베이스에 전달합니다.
  4. 웹 서비스가 데이터베이스에서 응답을 수신한 후 조작의 디폴트 XML 스키마에 따라 태그가 부착되는 XML 메시지에 응답을 패키지화합니다.
  5. 메시지가 변환되어 사용자 정의 XML 스키마에 따라 태그가 부착됩니다.
  6. 웹 서비스가 응답을 클라이언트 응용프로그램에 송신합니다.
그림 2. XSL 변환을 통합하는 메시지의 플로우
표 1. XSL 변환으로(부터)의 입력 및 출력
  XSL 변환으로의 입력 XSL 변환으로부터의 출력
첫 번째 XSL 변환 사용자 정의 XML 스키마를 사용하는 SOAP 랩핑된 유효한 XML 문서 디폴트 XML 스키마를 사용하는 SOAP 랩핑된 유효한 XML 문서
두 번째 XSL 변환 디폴트 XML 스키마를 사용하는 SOAP 랩핑된 유효한 XML 문서 사용자 정의 XML 스키마를 사용하는 SOAP 랩핑된 유효한 XML 문서
다음 표에 설명된 것과 같이 웹 서비스 작성 시에는 다음 파일을 제공해야 합니다.
  • 첫 번째 변환을 사용 가능으로 설정하려면 사용자 정의 XML 스키마를 디폴트 XML 스키마에 맵핑하는 XSL 파일 및 사용자 정의 XML 스키마의 사본을 웹 서비스에 제공해야 합니다.
  • 두 번째 변환을 사용 가능으로 설정하려면 디폴트 XML 스키마를 사용자 정의 XML 스키마에 맵핑하는 XSL 파일 및 사용자 정의 XML 스키마의 사본을 웹 서비스에 제공해야 합니다.
표 2. 웹 서비스에 제공해야 하는 파일
입력 메시지의 XSL 변환 출력 메시지의 XSL 변환
사용자 정의 XML 스키마(XSD 파일) XSL 파일 사용자 정의 XML 스키마(XSD 파일) XSL 파일
X X X X

HTTP POST(text/xml) 메시지 프로토콜을 사용하는 XSL 변환

이 섹션에서는 HTTP POST(text/xml) 메시지의 디폴트 메시지 플로우에 대해 설명한 후 XSL 변환을 통합하는 플로우에 대해 설명합니다.

웹 서비스 조작의 디폴트 메시지 플로우(XSL 변환이 포함되어 있지 않음)에서는 다음 단계를 수행합니다.
  1. 클라이언트 응용프로그램이 웹 서비스의 조작에 액세스하는 HTTP POST(text/xml) 메시지를 송신합니다. 메시지는 XML로 되어 있으며 디폴트 스키마에 따라 태그가 부착됩니다.
  2. 웹 서비스가 메시지를 수신하며 조작에 있는 스토어드 프로시저 호출 또는 SQL문을 데이터베이스에 전달합니다.
  3. 웹 서비스가 데이터베이스에서 응답을 수신한 후 조작의 디폴트 XML 스키마에 따라 태그가 부착되는 XML 메시지에 응답을 패키지화합니다.
  4. 웹 서비스가 응답을 클라이언트 응용프로그램에 송신합니다.
그림 3. 메시지의 디폴트 플로우
XSL 변환 구성시 웹 서비스 조작의 메시지 플로우에서는 다음 단계를 수행합니다.
  1. 클라이언트 응용프로그램이 웹 서비스의 조작에 액세스하는 HTTP POST(text/xml) 메시지를 송신합니다. 사용자 정의 XML 스키마에 따라 메시지에 태그가 부착됩니다.
  2. 메시지가 변환되어 디폴트 XML 스키마에 따라 태그가 부착됩니다.
  3. 웹 서비스가 메시지를 수신하며 조작에 있는 스토어드 프로시저 호출 또는 SQL문을 데이터베이스에 전달합니다.
  4. 웹 서비스가 데이터베이스에서 응답을 수신한 후 조작의 디폴트 XML 스키마에 따라 태그가 부착되는 XML 메시지에 응답을 패키지화합니다.
  5. XML로 되어 있고 사용자 정의 XML 스키마에 따라 태그가 부착되거나 비XML 형식(예: HTML 또는 일반 텍스트)으로 되어 있도록 메시지가 변환됩니다.
  6. 웹 서비스가 응답을 클라이언트 응용프로그램에 송신합니다.
그림 4. XSL 변환을 통합하는 메시지의 플로우
표 3. XSL 변환으로(부터)의 입력 및 출력
  XSL 변환으로의 입력 XSL 변환으로부터의 출력
첫 번째 XSL 변환 사용자 정의 XML 스키마를 사용하는 유효한 XML 문서 디폴트 XML 스키마를 사용하는 유효한 XML 문서
두 번째 XSL 변환 디폴트 XML 스키마를 사용하는 유효한 XML 문서 사용자 정의 XML 스키마를 사용하는 유효한 XML 문서 또는 비XML 문서
다음 표에 설명된 것과 같이 웹 서비스 작성 시에는 다음 파일을 제공해야 합니다.
  • 첫 번째 변환을 사용 가능으로 설정하려면 사용자 정의 XML 스키마를 디폴트 스키마에 맵핑하는 XSL 파일만 웹 서비스에 제공해야 합니다. 사용자 정의 XML 스키마의 사본은 제공하지 않아도 됩니다.
  • 두 번째 변환을 사용 가능으로 설정하기 위해 웹 서비스에 제공하는 파일이 사용자가 원하는 출력에 종속됩니다.
    • XML로의 변환을 사용 가능으로 설정하려면 사용자 정의 XML 스키마를 디폴트 스키마에 맵핑하는 XSL 파일만 웹 서비스에 제공해야 합니다. 사용자 정의 XML 스키마의 사본은 제공하지 않아도 됩니다.
    • 비XML 형식으로의 변환을 사용 가능으로 설정하려면 디폴트 XML 스키마를 비XML 형식에 맵핑하는 XSL 파일을 제공해야 합니다.
표 4. 웹 서비스에 제공해야 하는 파일
입력 메시지의 XSL 변환 출력 메시지의 XSL 변환
사용자 정의 XML 스키마(XSD 파일) XSL 파일 사용자 정의 XML 스키마(XSD 파일) XSL 파일
  X   X

HTTP GET/POST(url 인코딩됨) 메시지 프로토콜을 사용하는 XSL 변환

이 섹션에서는 HTTP GET(url 인코딩됨) 및 HTTP POST(url 인코딩됨) 메시지의 디폴트 메시지 플로우에 대해 설명한 후 XSL 변환을 통합하는 플로우에 대해 설명합니다.

웹 서비스 조작의 디폴트 메시지 플로우(XSL 변환이 포함되어 있지 않음)에서는 다음 단계를 수행합니다.
  1. 클라이언트 응용프로그램이 웹 서비스의 조작에 액세스하는 HTTP GET(url 인코딩됨) 또는 HTTP POST(url 인코딩됨) 메시지를 송신합니다. 메시지는 텍스트의 문자열에 있는 매개변수의 인코딩된 시퀀스입니다.
  2. 웹 서비스가 메시지를 수신하며 조작에 있는 스토어드 프로시저 호출 또는 SQL문을 데이터베이스에 전달합니다.
  3. 웹 서비스가 데이터베이스에서 응답을 수신한 후 조작의 디폴트 XML 스키마에 따라 태그가 부착되는 XML 메시지에 응답을 패키지화합니다.
  4. 웹 서비스가 응답을 클라이언트 응용프로그램에 송신합니다.
그림 5. 메시지의 디폴트 플로우
XSL 변환 구성시 웹 서비스 조작의 메시지 플로우에서는 다음 단계를 수행합니다.
  1. 클라이언트 응용프로그램이 웹 서비스의 조작에 액세스하는 HTTP GET(url 인코딩됨) 또는 HTTP POST(url 인코딩됨) 메시지를 송신합니다. 메시지는 매개변수를 인코딩합니다. XSL 변환은 이러한 메시지에 대해 사용할 수 없습니다.
  2. 웹 서비스가 메시지를 수신하며 조작에 있는 스토어드 프로시저 호출 또는 SQL문을 데이터베이스에 전달합니다.
  3. 웹 서비스가 데이터베이스에서 응답을 수신한 후 조작의 디폴트 XML 스키마에 따라 태그가 부착되는 XML 메시지에 응답을 패키지화합니다.
  4. XML로 되어 있고 사용자 정의 XML 스키마에 따라 태그가 부착되거나 비XML 형식(예: HTML 또는 일반 텍스트)으로 되어 있도록 메시지가 변환됩니다.
  5. 웹 서비스가 응답을 클라이언트 응용프로그램에 송신합니다.
그림 6. XSL 변환을 통합하는 메시지의 플로우
표 5. XSL 변환으로(부터)의 입력 및 출력
  XSL 변환으로의 입력 XSL 변환으로부터의 출력
첫 번째 XSL 변환 XSL 변환은 클라이언트 응용프로그램으로부터의 메시지에 대해 지원되지 않습니다.
두 번째 XSL 변환 디폴트 XML 스키마를 사용하는 유효한 XML 문서 사용자 정의 XML 스키마를 사용하는 유효한 XML 문서 또는 비XML 문서
다음 표에 설명된 것과 같이 웹 서비스 작성 시에는 다음 파일을 제공해야 합니다.
  • XML로의 변환을 사용 가능으로 설정하려면 사용자 정의 XML 스키마를 디폴트 스키마에 맵핑하는 XSL 파일만 웹 서비스에 제공해야 합니다. 사용자 정의 XML 스키마의 사본은 제공하지 않아도 됩니다.
  • 비XML 형식으로의 변환을 사용 가능으로 설정하려면 디폴트 XML 스키마를 비XML 형식에 맵핑하는 XSL 파일을 제공해야 합니다.
표 6. 웹 서비스에 제공해야 하는 파일
입력 메시지의 XSL 변환 출력 메시지의 XSL 변환
사용자 정의 XML 스키마(XSD 파일) XSL 파일 사용자 정의 XML 스키마(XSD 파일) XSL 파일
      X

피드백