Abstract
Web service implementations are now rapidly growing. Web services are easily achieved by XML messaging for most programming languages. Applications usually utilize web services through APIs tied to a specific implementation of SOAP. nML is a dialect of SML and OCaml made in ROPAS. The soaptype type in nML is defined for the value of SOAP encoding. SOAP encoding specification defines rules for serialization of a graph of typed objects using XML Schema. XML Schema validates XML SOAP value. The soaptype type is encoded to XML and decoded from XML. It is necessary to guarantee safe encoding and decoding. So, the definitions for element and type definition in XML Schema are specified by element type and typeinfo type, which include the part of the definitions of XML Schema specification.
웹 서비스에 대한 구현이 많이 늘고 있다. 웹 서비스는 각 프로그래밍 언어에서 XML를 이용해서 원격 호출을 한다. 이때 사용하는 대표적인 프로토콜이 SOAP으로써 본 논문에서는 nML 프로그래밍 환경에서 SOAP 클라이언트 구현을 제시한다. nML은 한국과학기술원 ROPAS에서 만든 SML과 OCaml의 한국형 함수형 언어이다. nML에서의 soaptype 타입으로 SOAP 값을 정의한다. SOAP은 XML Schema에 의해서 객체에 대한 인코딩이 정의된다. 즉 XML Schema가 SOAP 값의 유효성을 판단한다. 본 논문은 XML Schema의 엘리먼트와 타입에 대한 정의로써 element와 typeinfo 타입을 정의한다. 그리고 상호호환성 테스트를 통하여 안전하게 다른 언어와 대응됨을 보인다.