Creating a scheduled update by using a SOAP web service

You can create scheduled updates that are triggered by messages from a SOAP web service. In Spotfire Server, the external updates configuration takes place in the server, and the updates are sent to the server. Spotfire Server then sends the updates to the appropriate web player service(s).

Prerequisites

The user calling the web service must have the following:
  • Administrator privileges.
  • One of the following:
    • Membership in the API User group.
    • The "External updates of analysis in Spotfire web clients" (under "TIBCO Spotfire Consumer") license enabled.

Procedure

  1. Edit the Spotfire Server configuration file to enable public web service API access:
    <public-api>
       <web-services>
         <enabled>true</enabled>
       </web-services>
     </public-api>
  2. Configure the SOAP request using these parameters:
    • Web service address: http://<servername_and_port>/spotfire/ws/pub/UpdateAnalysisService
    • WSDL located at: http://<servername_and_port>/spotfire/ws/pub/UpdateAnalysisService?wsdl
    Note: You now have the option of setting the resource pool (a set of specific Spotfire Web Player instances on which to preload the updated analysis file). However, if the following statements are true, the resource pool value in the existing rule takes precedence:
    • There is an existing rule for the same file.
    • The existing rule was created in Spotfire Server.
    • The existing rule specifies a resource pool.
    • The existing rule is enabled.
    Note: For the ClientUpdate parameter, the value (manual or automatic) that is defined in the external rule takes precedence. If the external update does not specify a value, or if the specified value is invalid, the value from an enabled rule is used, if available.
    Sample request
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ext="http://spotfire.tibco.com/ws/2015/08/externalScheduledUpdate.xsd">
       <soapenv:Header/>
       <soapenv:Body>
          <ext:loadAnalysis>
             <!--Optional:-->
             <updateAnalysis>
                <!--Optional:-->
                <path>/A121-02 BostonMatrix</path>
                <!--Optional:-->
                <clientUpdate>manual</clientUpdate>
                <keepAliveMinutes>5</keepAliveMinutes>
                <!--Optional:-->
                <!--resourcePool>Main</resourcePool-->
             </updateAnalysis>
          </ext:loadAnalysis>
       </soapenv:Body>
    </soapenv:Envelope>
  3. Send the request with the user that was configured for this purpose.