| Products | Versions |
|---|---|
| Spotfire Server | 7.5 and higher |
When opening a report in the TIBCO Spotfire Web Player based on an information link which has a large number of prompts or data, the data table may fail to load and you will see the following error in the server.log file:
ERROR 2017-07-17T11:03:58,473-0400 [user@domain, #12345, #111222] spotfire.rs.RestExceptionHandler: Intercepted exception in request to /wp/render/b1MOFe-Yv0vJCEHfFj/AjaxService.asmx/ValidatePrompt java.io.IOException: failed to process request at com.spotfire.server.wp.router.WebServiceHttpProxyRequestHandler.handleRequest(WebServiceHttpProxyRequestHandler.java:217) at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) ...... Caused by: org.springframework.web.client.HttpServerErrorException: 500 Worker error id: e9bc8a4610a34b77a9689dc6ca6b4960 (The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://schemas.spotfire.tibco.com/worker/Analysis/Service/650:serializedPromptModel. The InnerException message was 'There was an error deserializing the object of type System.String. The maximum string content length quota (262144) has been exceeded while reading XML data. This quota may be increased by changing the MaxStringContentLength property on the XmlDictionaryReaderQuotas object used when creating the XML reader.'. Please see InnerException for more details.) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:94) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:667)
The above error is seen if the Web Player exceeds a maximum size of 256kb for request and response messages sent to and from the service.
In the "Spotfire.Dxp.Worker.Web.config" you have a setting on the server limiting the maximum size of message that the Web Player accepts. The default is 256kb, so increasing the size to 2560 (for example) will resolve the issue.
Update the maxReaderQuotasSizeKb setting value in the Spotfire.Dxp.Worker.Web.config per the instructions found here: Manually editing the service configuration files
Details:
1). First go to:
<TSS install dir>\tomcat\bin\
and make sure that the "config" folder is deleted or backed up somewhere else.
2). On the command line, export the service configuration that you want to modify from Spotfire Server by using the export-service-config command. Specify the service's capability and the deployment area, and optionally the configuration name.
For example, exporting the "Default" Spotfire Web Player Services configuration that is in the Production deployment area:
export-service-config --capability=WEB_PLAYER --deployment-area=Production
The configuration files are then exported. By default, these files are located in the <TSS install dir>\tomcat\bin\config\root directory.
3). Make the following changes to Spotfire.Dxp.Worker.Web.config:
From Spotfire.Dxp.Worker.Web.config:
After this change the section should look something like the following.
<application checkUserSessionTimeoutIntervalSeconds="120" userSessionTimeout="00:20:00" maxConcurrentWebServiceCallsPerCore="16" maxReceivedMessageSizeMb="1024" maxReaderQuotasSizeKb="2560" requestTimeoutSeconds="3600"/>
Save the changes to file.
4). In the command-line interface, import the configuration file back into the Spotfire Server and name the configuration by using the import-service-config command.
For example:
import-service-config --config-name=WebPlayerConfiguration
5). In the command-line interface, assign the created Web Player service configuration to the Spotfire Server to make it possible to use for the service:
For example :
set-service-config --service-id=value –config-name=WebPlayerConfiguration
Now opening the information link should be able to successfully open in an analysis file in the Web Player.
Note:
This article describes how to resolve if the information link does not execute on TIBCO Spotfire Web Player when maximum string content length quota (262144) has been exceeded while reading XML data.
Doc: Spotfire.Dxp.Worker.Web.config file
Manually editing the service configuration files