The WebService module works by linking together a Web Services Description Language (WSDL) document, a VTS Realm, and a module within a VTS application. This linkage allows VTS to accept SOAP-encoded messages directed at specific VTS Realms via the network and translate those messages into procedural requests for VTS applications. The results of these requests can then be compiled back into SOAP message format and returned to the network entities that made the requests.
Each VTS Realm can expose a single WSDL and connect it to a one specific module within a single application.
(If you are not familiar with VTS Realms please review Realms in Browsing VTS Applications on the Web: VTS/IS.)
The module referred to here commonly takes the form of a .SRC file in the application's main directory. It is reserved by the system as the root of the web service. Sub-modules of this root are used to expose parameters and VTS operations to the WebService.
Only one module can be associated with a realm, but since this module may contain sub-modules which are available to the web service, an effectively unlimited number of SOAP calls can be handled via the single root module
Do not confuse the module with the application pages. None, any or all tags from any or all application pages may be exposed to the web service through the module system.
A key feature of the module will be a call to the WebService function, SetWSDL. This function connects a Realm to the application in order to provide the web service interface. An example of a call to this function can be found in the Web Services Example: Creating the VTS Module.
The WSDL file describes the structure of the web service. A sample can be viewed in the Web Service Example: Creating a WSDL file
At a minimum the WSDL file will define, in XML format; 1) the operations that are available, 2) the data types of variables passed and returned, and 3) the location of the Realm to which the application is linked. The WSDL file must also include the name of the module to be called as described. Incoming SOAP messages will use this same name to indicate the module to call, while outgoing messages will use the name of the module with the string "Response” appended to indicate their source.
Note: VTS is compliant with SOAP 1.1 not with SOAP 1.2. Messages must be encoded accordingly.
Once the application has been configured it can start accepting SOAP messages immediately and will continue to accept them until the attachment between the realm and the WSDL is removed.