본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

PocketSoap

0

PocketSOAP은 Windows용 SOAP 클라이언트 COM 컴포넌트로, 원래 PocketPC를 대상으로 개발되었으나 Win32 버전도 제공됩니다.

COM 컴포넌트HTTP 트랜스포트시리얼라이저첨부 파일 지원플러그 가능

소개

PocketSOAP은 Windows용 SOAP 클라이언트 COM 컴포넌트로, 원래 PocketPC를 대상으로 개발되었으나 Win32 버전도 제공됩니다. James Clark의 Expat XML 파서를 사용하여 SOAP 메시지를 파싱하며, SOAP 1.1 및 1.2를 지원합니다. 이 컴포넌트는 HTTP 1.1 트랜스포트를 포함하고 있으며, DIME 및 SOAP with Attachments를 통한 첨부 파일 지원을 제공합니다. 플러그 가능한 시리얼라이저 엔진을 통해 사용자 정의 시리얼라이저를 쉽게 통합할 수 있습니다.

상세정보

SOAP 프로토콜 지원

SOAP 1.1 및 SOAP 1.2를 완전히 지원하며, SOAP 1.1 섹션 5 인코딩을 지원합니다. 단순 타입, base64 바이너리, 배열, 다차원 배열, 부분 및 희소 배열, nil 값, 복합 타입, 루트 처리 및 다중 참조(순환 참조 포함)를 처리할 수 있습니다.

전송 및 첨부 파일 지원

HTTP 1.1 트랜스포트를 통해 지속적 연결, SSL, 프록시, 인증, 프록시 인증, 리다이렉트, 쿠키 및 압축을 지원합니다. DIME 및 SOAP with Attachments 방식을 통한 첨부 파일 지원이 포함되어 있습니다.

플러그 가능한 시리얼라이저 엔진

시리얼라이저 엔진은 완전히 플러그 가능하며, 표준 시리얼라이저를 사용자 정의 시리얼라이저로 교체할 수 있습니다. 예를 들어 컬렉션 객체를 SOAP 배열과 매핑하는 시리얼라이저를 제공할 수 있습니다. 시리얼라이저 엔진은 직렬화 및 역직렬화 모두에 다중 참조 지원을 포함하며, propertyBag 시리얼라이저를 기본으로 제공하여 지속 가능한 VB 객체를 SOAP 복합 타입으로 직렬화/역직렬화할 수 있습니다.

스키마 및 스크립팅 지원

1999 및 2001 스키마 버전을 모두 지원하며, 스크립팅 친화적인 모드를 제공하여 배열을 VARIANT 배열로 생성하여 VBScript 및 기타 스크립트 언어에서 쉽게 사용할 수 있습니다. 스트림 기반 파싱을 통해 효율적인 메시지 처리가 가능합니다.

다운로드·설치 방법

Win32 버전의 패키지 설치는 NSIS 설치 프로그램을 통해 제공되며, 파일 크기는 800KB입니다. Windows 95 OSR2, 98, Me, NT4, 2000, XP, 2003을 지원합니다. Windows 95에서는 DCOM95가 먼저 설치되어야 합니다. Windows 95/98에서는 SSL 지원을 위해 추가 설치가 필요할 수 있으며, 자세한 내용은 문서를 참조하십시오. 설치를 완료하면 문서가 데스크톱 PC에 전체 복사본으로 설치됩니다.

기본 사용법/명령어

PocketSOAP을 사용하는 기본 방법은 COM 객체를 생성하여 사용하는 것입니다. 예를 들어, VBScript에서 다음과 같이 사용할 수 있습니다:

Set pf = CreateObject(“pocketsoap.Factory”)

Set sp = pf.CreateProxy(“http://services.xmethods.net/soap”, “urn:xmethods-delayed-quotes”)

msgbox sp.getQuote(symbol:=”AMD”)

이 코드는 XMethods에서 제공하는 getQuote SOAP 서비스를 호출하고 결과를 메시지 상자에 표시합니다.

핵심 객체는 Envelope 클래스이며, 이를 사용하여 SOAP 메시지를 구성하고 전송할 수 있습니다. 예를 들어, 4s4c 서버에 대한 호출은 다음과 같이 수행할 수 있습니다:

Function Test4s4c()

dim soap, t

set soap = CreateObject(“PocketSOAP.Envelope.11”)

soap.methodName = “Add”

soap.URI = “http://simon.fell.com/calc”

soap.Parameters.Create “a”, 100

soap.Parameters.Create “b”, 20

set t = CreateObject(“PocketSOAP.HTTPTransport”)

t.Send “http://soap.4s4c.com/ssss4c/soap.asp”, soap.serialize

soap.parse t

wscript.echo “4s4c at soap.4s4c.com result (expecting 120) : ” & _ soap.Parameters.ItemByName(“added”).Value

End Function

이 코드는 다음과 같은 SOAP 요청을 생성하고 전송합니다:

<S:Envelope S:encodingStyle=’http://schemas.xmlsoap.org/soap/encoding/’ xmlns:S=’http://schemas.xmlsoap.org/soap/envelope/’ xmlns:a=’http://simon.fell.com/calc’ xmlns:XS=’http://www.w3.org/2001/XMLSchema’ xmlns:XI=’http://www.w3.org/2001/XMLSchema-instance’>

<S:Body><a:Add><a XI:type=’XS:short’>100</a><b XI:type=’XS:short’>20</b></a:Add></S:Body></S:Envelope>

이런 경우에 유용합니다

SOAP 기반 웹 서비스와 상호작용이 필요한 Windows 애플리케이션 개발자에게 유용합니다. 특히, VBScript 또는 기타 스크립트 언어를 사용하여 SOAP 서비스를 호출해야 하는 상황에서, 복잡한 XML 처리 없이 간단한 COM 객체 생성과 메서드 호출만으로 SOAP 통신을 구현할 수 있습니다. HTTP 기반 SOAP 서비스에 대한 요청을 보내고 응답을 파싱해야 하는 개발자들에게 적합하며, 첨부 파일 전송이 필요한 경우에도 DIME 및 SOAP with Attachments 지원을 활용할 수 있습니다.

지원 환경·시스템 요구사항

Win32 버전은 Windows 95 OSR2, 98, Me, NT4, 2000, XP, 2003을 지원합니다. Windows 95에서는 DCOM95가 먼저 설치되어야 합니다. Windows 95/98에서는 SSL 지원을 위해 추가 설치가 필요할 수 있습니다. PocketPC 버전은 ARM, SH3 및 MIPS 프로세서를 사용하는 PocketPC 및 PocketPC 2002/2003 장치를 지원하며, ActiveSync 3.0 이상이 필요합니다.

최신 버전·업데이트

최신 버전은 1.5.5로, 2009년 8월 16일에 출시되었습니다. 이 버전에서 dateTime 및 time 직렬화/역직렬화에 밀리초 지원이 추가되었으며, PocketHTTP가 최신 버전으로 업데이트되었습니다. 이전 버전에서는 다양한 버그 수정과 성능 개선이 이루어졌으며, 예를 들어 버전 1.5에서는 SOAP 1.2 지원 추가, 메모리 footprint 감소, 스트리밍 파싱, gzip 압축 지원, base64 처리 성능 향상 등이 포함되었습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.