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 Standard ML and OCaml made in ROPAS. Even with many good features, nML comes short of library. The SOAP is implemented in nML as library routines. SOAP library will enrich nML programming environment.
nML is a higher-order and typed programming language. 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. The soaptype type should consider relations between SOAP encoding specification and XML Schema type definition.
XML Schema validates XML SOAP value. The soaptype type is encoded to XML and decoded from XML. It needs 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.
A SOAP client is implemented using soaptype, element and typeinfo types. With our implementation, nML SOAP client can use other SOAP servers by SOAP binding of Web Services Description Language(WSDL) definition and interoperational test lab specification.