본문 바로가기
Language & Library/etc

[MS-WSUSSS] SOAP Request 앱을 통한 서비스 사용 예제

by 미네마네모 2020. 9. 13.

SOAP API 테스트 환경 준비

본 예제는 Google 확장 앱 중 Boomerang API 라는 Tool을 중심으로 작성되었습니다.

SOAP(Simple Object Access Protocol)는 http 프로토콜으로 XML 기반의 메세지를 주고 받는 프로토콜 입니다. http 요청이 가능하고 SOAP 프로토콜에 대한 이해가 있으면 어떤 Tool에서도 테스트 가능합니다.

MS-WSUSSS 프로토콜 실습 예제

  • 프로토콜 사용 Example 참고 링크 : 바로가기
  • 해당 문서에서의 설명은 주요 파라미터만 설명 예정이다. 자세한 내용은 각 Method의 공식 문서를 참조
  • 용어 사전 : 바로가기

Requirement

서비스 명설명서비스 링크

Server Sync Web Service Microsoft Update 서버로부터 업데이트 정보 동기화를 위한 서비스 바로가기
DSS Authorization Web Service Microsoft Update 서버로 부터 인증 정보를 받기 위한 서비스 바로가기
  1. 확장 앱 설치 (Google 웹 스토어 링크)
  2. 확장 앱 실행 (실행 링크 ,확장 앱 업데이트에 따라서 링크는 변경될 수 있음)
  3. 상단에 언급한 두개의 서비스 등록 ( ADD SERVICE → SOAP [WSDL] 선택 → WSDL URL 입력 → LOAD )

GetAuthConfig : 쿠키를 얻기 위한 서비스 정보 조회

요청 파라미터

없음

응답 파라미터

해당 응답은 크게 사용되지 않음

GetAuthorizationCookie : 인증 쿠키 발급

요청 파라미터

* 서비스 명
요청하는 서비스 명으로 고정
/Body/GetAuthorizationCookie/accountName

* 요청 서비스 GUID
/Body/GetAuthorizationCookie/accountGuid
  •  

응답 파라미터

* 플러그인 ID
/Body/GetAuthorizationCookieResponse/GetAuthorizationCookieResult//PlugInID

* 쿠키 데이터
/Body/GetAuthorizationCookieResponse/GetAuthorizationCookieResult//CookieData
    •  

GetCookie : 쿠키 발급

요청 파라미터

* 플러그인 ID
/Body/GetCookie/authCookies/AuthorizationCookie/PlugInId
GetAuthConfig의 Response에서 받은 PlugInId 정보

* 쿠키 데이터
/Body/GetCookie/authCookies/AuthorizationCookie/CookieData
GetAuthorizationCookie의 Response에서 받은 쿠키 데이터

응답 파라미터

* 쿠키 만료 시간
/Body/GetCookieResponse/GetCookieResult/Expiration

* 암호화된 쿠키
/Body/GetCookieResponse/GetCookieResult/EncryptedData

GetConfigData : 설정 데이터 요청

요청 파라미터

* 쿠키 만료 시간
/Body/GetConfigData/cookie/Expiration
GetCookie의 Response의 쿠키의 만료 시간 값을 삽입

* 암호화 쿠키
/Body/GetConfigData/cookie/EncryptedData
GetCookie의 Response의 쿠키 데이터의 암호화 쿠키 값을 삽입

응답 파라미터

해당 파라미터는 크게 사용하지 않음.

GetRevisionIdList : 설정 데이터 요청

  • 해당 요청은 업데이트 리스트의 양에 따라 오래 걸릴 수 있다.
  • 공식 문서 : 바로가기

요청 파라미터

* 쿠키 만료 시간
/Body/GetConfigData/cookie/Expiration
GetCookie의 Response의 쿠키의 만료 시간 값을 삽입

* 암호화 쿠키
/Body/GetConfigData/cookie/EncryptedData
GetCookie의 Response의 쿠키 데이터의 암호화 쿠키 값을 삽입

* 필터 (앵커: 기준날짜)
/Body/GetRevisionIdList/filter/Anchor
해당 값으로 설정된 시간 이후에 출시된 업데이트 목록 가져옴 (ex. "2020-04-01 16:22:56.000")

* 필터 (업데이트 종류)
/Body/GetRevisionIdList/filter/GetConfig
TRUE (
설정에 관련된 업데이트 항목만 요청) / FALSE (실제 업데이트에 관련된 항목만 요청)

* 필터 (기타)
/Body/GetRevisionIdList/filter/Get63LanguageOnly
FALSE(일반적으로 FALSE를 사용) / TRUE (DSS Protocol 1.1, USS Protocol 1.2인 경우만 TRUE)

응답 파라미터

* 마지막에 출시된 업데이트의 Anchor
/Body/GetRevisionIdListResponse/GetRevisionIdListResult/Anchor

* 업데이트 리스트
/Body/GetRevisionIdListResponse/GetRevisionIdListResult/NewRevisions

* 업데이트 ID
/Body/GetRevisionIdListResponse/GetRevisionIdListResult/NewRevisions/UpdateIdentity/UpdateID

* 업데이트 REVISION 번호
/Body/GetRevisionIdListResponse/GetRevisionIdListResult/NewRevisions/UpdateIdentity/RevisionNumber

GetUpdateData : 설정 데이터 요청

  • 해당 요청은 응답 데이터 크기에 따라 오래 걸릴 수 있다.
  • 공식 문서 : 바로가기

요청 파라미터

*쿠키 만료 시간
/Body/GetConfigData/cookie/Expiration
GetCookie의 Response의 쿠키의 만료 시간 값을 삽입

*암호화 쿠키
/Body/GetConfigData/cookie/EncryptedData
GetCookie의 Response의 쿠키 데이터의 암호화 쿠키 값을 삽입

*업데이트 ID
/Body/GetUpdateData/updateIds/UpdateIdentity/UpdateID
GetRevisionIdList의 Response에서 조회된 업데이트 정보 중 UpdateID 값을 삽입


*업데이트 REVISION 번호
/Body/GetUpdateData/updateIds/UpdateIdentity/RevisionNumber
GetRevisionIdList의 Response에서 조회된 업데이트 정보 중 RevisionNumber 값을 삽입

응답 파라미터

요청한 업데이트에 대한 정보
/Body/GetUpdateDataResponse/GetUpdateDataResult/updates

요청한 업데이트의 XML
/Body/GetUpdateDataResponse/GetUpdateDataResult/updates/ServerSyncUpdateData/XmlUpdateBlobCompressed
또는
/Body/GetUpdateDataResponse/GetUpdateDataResult/updates/ServerSyncUpdateData/XmlUpdateBlob

요청 업데이트의 파일 정보
/Body/GetUpdateDataResponse/GetUpdateDataResult/fileUrls

요청 업데이트의 파일 다운로드 URL
/Body/GetUpdateDataResponse/GetUpdateDataResult/fileUrls/ServerSyncUrlData/MUUrl

요청한 업데이트의 파일 다이제스트
/Body/GetUpdateDataResponse/GetUpdateDataResult/fileUrls/ServerSyncUrlData/FileDigest
      •  
  •  
  •  

 

댓글