1 SOAP client examples

A soap request can be formulated by generating an XML message that will be transported using the HTTP protocol. The XML message (serialization) and the response (deserialization) can be obtained through different languages.

Below are some examples in the most common languages.

1.1 XSQL-Script client

This section shows several examples of SOAP clients using the XSQL-SCRIPTS language.

1.1.1 SOAPAPPServer.getPolicy

Example 1

Get the language assigned to the user profile. In case of error it returns the code and error message.

Copy
<xsql-script name='getPolicy'>
    <body>
       <set name='m_response'>
          <soap.call
             url='http://www.mydeister.com/soap/servlet/rpcrouter'
             uri='urn:SOAPAPPServer'
             method='getPolicy'
             user='soap'
             password='soap999'
             >
          </soap.call>
       </set>
       <if><expr><soap.isFault><m_response/></soap.isFault></expr>
           <then>
                <println><soap.fault.getCode><m_response/></soap.fault.getCode></println>
                <println><soap.fault.getString><m_response/></soap.fault.getString></println>
           </then>
           <else>
               <println><map.get name='m_response'><string>lang</string></map.get></println>
           </else>
       </if>       
    </body>
 </xsql-script>

Ejemplo 2

Obtain user profile data on desktop with identifier 0.

Copy
<xsql-script name='getPolicy'>
    <body>
       <set name='m_response'>
          <soap.call
             url='http://www.mydeister.com/soap/servlet/rpcrouter'
             uri='urn:SOAPAPPServer'
             method='getPolicy'
             user='soap'
             password='soap999'
             >
               <parameters>
                  <parameter name = 'desk'>0</parameter>
               </parameters>    
          </soap.call>
       </set>
       <println><m_response/></println>
    </body>
 </xsql-script>

1.1.2 SOAPAPPServer.getRoles

Example 1

Obtener la lista de roles asignados al perfil de usuario.

Copy
<xsql-script name='getRoles'>
   <body>
      <set name='m_response'>
         <soap.call
            url='http://www.mydeister.com/soap/servlet/rpcrouter'
            uri='urn:SOAPAPPServer'
            method='getRoles'
            user='soap'
            password='soap999'
            >
         </soap.call>
      </set>
      <println><m_response/></println>
   </body>
 </xsql-script>

1.1.3 SOAPAPPServer.getServers

Ejemplo 1

Obtener los servidores de base de datos que el usuario tiene acceso.

Copy
<xsql-script name='getServers'>
    <body>
       <set name='m_response'>
          <soap.call
             url='http://www.mydeister.com/soap/servlet/rpcrouter'
             uri='urn:SOAPAPPServer'
             method='getServers'
             user='soap'
             password='soap999'
             >
          </soap.call>
       </set>
       <println><m_response/></println>
    </body>
 </xsql-script>

1.1.4 SOAPAPPServer.getMenu

Example 1

Obtain the menu options with root folder IGES-COM and COMACUPRO subfolder of the demo_sports database.

Copy
<xsql-script name='getMenu'>
    <body>
       <set name='m_response'>
          <soap.call
             url='http://www.mydeister.com/soap/servlet/rpcrouter'
             uri='urn:SOAPAPPServer'
             method='getMenu'
             user='soap'
             password='soap999'
             >
               <parameters>
                  <parameter name = 'dbms'>demo_sports</parameter>
                  <parameter name = 'code'>IGES-COM</parameter>
                  <parameter name = 'root'>COMACUPRO</parameter>
               </parameters>    
          </soap.call>
       </set>
       <println><m_response/></println>
    </body>
 </xsql-script>

1.1.5 SOAPAPPServer.listFiles

Example 1

Listx the contents of the root directory and subdirectories stored in my disk utility.

Copy
<xsql-script name='listFiles'>
    <body>
       <set name='m_response'>
          <soap.call
             url='http://www.mydeister.com/soap/servlet/rpcrouter'
             uri='urn:SOAPAPPServer'
             method='listFiles'
             user='soap'
             password='soap999'
             >
               <parameters>
                  <parameter name = 'tool'>disk</parameter>
                  <parameter name = 'path'>.</parameter>
                  <parameter name = 'expand'><true/></parameter>
               </parameters>    
          </soap.call>
       </set>
       <println><m_response/></println>
    </body>
 </xsql-script>

1.1.6 SOAPAPPServer.setFileData

Example 1

TTransfer a local file to the virtual disk manager using a File object.

Copy
<xsql-script name='setFileData'>
    <body>
       <set name='m_response'>
          <soap.call
             url='http://www.mydeister.com/soap/servlet/rpcrouter'
             uri='urn:SOAPAPPServer'
             method='setFileData'
             user='soap'
             password='soap999'
             >
           <parameters>
	     <parameter name='tool'>disk</parameter>
	     <parameter name='path'>/myfile.txt</parameter>
	     <parameter name='data'><file type='absolute' name='myfile.txt' /></parameter>
           </parameters>
          </soap.call>
       </set>
       <println><map.get name='m_response'><string>lang</string></map.get></println>
    </body>
 </xsql-script>

Example 2

Transfer a local file to the virtual disk manager using a DataHandler object to indicate the content-type .

Copy
<xsql-script name='setFileData'>
    <body>
       <set name='m_response'>
          <soap.call
             url='http://www.mydeister.com/soap/servlet/rpcrouter'
             uri='urn:SOAPAPPServer'
             method='setFileData'
             user='soap'
             password='soap999'
             >
           <parameters>
	     <parameter name='tool'>disk</parameter>
	     <parameter name='path'>/myfile.txt</parameter>
	     <parameter name='datahandler'><datahandler><datasource type='text/plain'><file type='absolute' name='myfile.txt' /></datasource></datahandler></parameter>
           </parameters>
          </soap.call>
       </set>
       <println><map.get name='m_response'><string>lang</string></map.get></println>
    </body>
 </xsql-script>