EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB485429: Troubleshooting "Unable to execute I-Server REST API. This might be caused by limitations on socket port for I-Server REST API." Error.


Katarzyna Olszewska

Senior Cloud Support Engineer III • MicroStrategy


This article outlines how to handle "Unable to execute I-Server REST API. This might be caused by limitations on socket port for I-Server REST API." error.

Symptoms


Depending on Strategy version used, this error message can be encountered in Strategy Library – while logging in/using bookmarks and in Workstation while using various features such as i.e. creating hypercards. It indicates issues with connection between Library server and Intelligence Server REST API port. 

Action

  1. Verifying if the REST port is available. By default 34962 is used and it is necessary to check connectivity from Library server to I-Server machine. One way to achieve that would be to use telnet command:

telnet iserver_machine 34962

If the command fails – make sure the port is not closed i.e. in the Firewall. 
 

  1. Checking Library Admin page to verify if it connects to the I-Server using TLS. If it does not- checking if  I-Server has SSL disabled in the Configuration Wizard.

Checking StrategyLibrary-StrategyLibrary logs:

"message":"Unable to execute I-Server REST API. This might be caused by limitations on socket port for I-Server REST API. 2 https://xxxxxxxxx.techsupp.Strategy.com:34962/api/bulkreadobjects", 3"stack_trace":"javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 4 at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)

Logs show that despite not using TLS to connect to the iserver, the reference to REST API port still uses HTTPS: (https://xxxxxxxxx.techsupp.Strategy.com:34962/api/bulkreadobject).
If TLS is not needed, disable TLS on I-Server, in the server definition.
If TLS is required- configure Library to use TLS when communicating with I-Server.
 

  1. Verifying if Library server can resolve hostname returned by the I-Server.

In StrategyLibrary-StrategyLibrary logs: 

"message":"Unable to execute I-Server REST API. This might be caused by limitations on socket port for IServer REST API. 2 http://xxxxxxxxx.labs.Strategy.com:34962/api/usergroups/355C4A13404293AA7F76DF970FF3CGE6/settings", 3"stack_trace":"java.net.UnknownHostException: xxxxxxxxx.labs.Strategy.com 4 atjava.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)

I-Server returns a URL to the Library server - http://iserver_hostname:34962/api. If the iserver_hostname cannot be resolved by DNS an error message referring to an unknown host will occur: java.net.UnknownHostException: xxxxxxxxxx.labs.Strategy.com.
Add the IP to hostname mapping (e.g. 10.67.24.10 xxxxxxxxxx.labs.Strategy.com) to the hosts file of the Library server machine to manually resolve the iserver name. 
By default:
-Windows: C:\Windows\System32\drivers\etc\hosts
-Linux: /etc/host
CAUTION: Modifying the HOSTS file on a machine incorrectly can interfere with name resolution. Ensure that a backup copy is made of the HOSTS file before modifications are made.
 
       4. Verifying if the TLS ciphers are supported on the I-Server machine.
 
In StrategyLibrary-StrategyLibrary logs: 
"message":"Unable to execute I-Server REST API. This might be caused by limitations on socket port for IServer REST API.https://xxxxxxxxxx.Strategy.com:34962/api/bulkreadobjects","stack_trace":"java.net.SocketException: Connection reset at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)

Library Server supports following secure cipher suites when TLSv1.2 is used:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
When none of them is enabled at the I-Server,  I-Server would refuse the connection.
Solution is to enable the cipher suites at  the I-Server machine. On Windows this can be achieved using e.g. tool called IIS Crypto. For more details refer to KB484612 .
 


Comment

0 comments

Details

Knowledge Article

Published:

March 31, 2022

Last Updated:

March 4, 2024