FAQ

Feedback


  

  1. Installation and deployment

  2. When starting SuperMap iPortal service, what are the possible reasons and solutions for not passing the environment check?
  3. Port occupancy error occurs when starting SuperMap iPortal service, which causes iPortal service to fail to start. How to solve?
  4. Why error "java.lang.OutOfMemoryError: unable to create new native thread" occurs when running SuperMap iPortal?
  5. What are the possible reasons for the collapse of SuperMap iPortal service?
  6. Why does the SuperMap iPortal service automatically restart in the case of abnormal shutdown?
  7. Where are the log files placed, when starting SuperMap iPortal via Windows service in Java Web container, like Tomcat?
  8. When stoppping SuperMap iPortal, why does the bin generate a * .mdmp file, which causes the disk to take up too much?
  9. If SuperMap iPortal's operating system is configured with multiple IPs, how do I specify the IP used by the iPortal service?
  10. iPortal does not support the registration of localhost and 127.0.0.1 service address, then how to meet the needs of registering services on stand-alone machine when the network is not available for product demonstration?
  11. What should I do when I want to start multiple iPortals on one machine at the same time?
  12. After SuperMap iPortal 10i and above have been running normally for a period of time, the resources newly added to the portal are not displayed on the "Resource Center" page, and the console reports the following warning: "index ResourceItem failed. blocked by: [FORBIDDEN/12/index read-only / allow delete <api>]; index resource document MAP1314740420 failed. update resource document MAP1314740420 failed." How to solve it?
  13. What should I do if I want to change the configuration of SuperMap iPortal's built-in global search (such as port number, cluster name, node name, etc.)?

    Cross platform and middleware

  14. Why does this error occur when starting iPortal service on a Linux system: "Unable to set localhost. This prevents creation of a GUID"?
  15. Linux system does not have a graphical interface, how to configure the SuperMap iPortal 7C use license through the command line?
  16. A "The 32bit support is missing. Please install the x86 compatibility packages required by your distribution and retry the installation. See the installation guide for more details.Aborting …" error happens on a Linux 64-bit OS when installing SuperMap License Center driver.
  17. On the Linux OS on Hyper-v, the 7C license fails to install, or it is not available after restarting the system.
  18. When installing SuperMap License Center on Linux, the error "hasp_update failed with status 65" shows up. Why?
  19. When using putty, SecureCRT, SSH to start SuperMap iServer 7C or SuperMap iPortal 7C service on Linux, such error as "Could not initialize class sun.awt.X11GraphicsEnvironment” or “System environment checking failed” appear on the front page. But it works well when starting service locally. Why?
  20. When starting the iPortal service on the Linux operating system, the following error occurs: java.lang.RuntimeException : can not run elasticsearch as root?
  21. What should I do if I get stuck at "Explicit INI instance has been provided, but configuration locations have also been specified..." when starting the iPortal service on the Linux operating system.
  22. What should I do if iPortal is deployed in the Ubuntu operating system with an English language environment, and garbled characters appear when uploading data containing Chinese or entering Chinese content?

    Service access

  23.  Why certain request cannot be recognized and the request may fail or wrong result may be returned?
  24. Restering iServer services proxied by nginx to iPortal, when enabling iPortal service proxy, some resources can't be accessed when accessing the proxied iServer service address. For example, when accessing map resource's rjson representation, the port number of the urls of some resources is not the port number of the iPortal service proxy, but the nginx's listening port. Why, and how to solve?
  25. When sending a request, the scanning tool warns that there is a host header attack vulnerability, that is, "the target URL has a http host header attack vulnerability detected". What should I do?
  26. Why does the progress bar remain stuck when uploading data with a large amount of data after using the nginx reverse proxy in iPortal?
  27. Why is the DrawingBox search icon in the global search disabled after iPortal is started with HTTPS protocol? How to solve it?
  28. After the hosted iServer in iPoral is upgraded, iPortal cannot publish the service normally. What should I do?
  29. After using the iServer deployed in the cloud-native environment as a hosting server, how to modify the number of microservice nodes used to publish services (the default limit of the number of nodes is 2)?

    Configuration management

  30. What should I do if I forget the password of the administrator acount created when SuperMap iPortal was initialized?
  31. Why SSO failed after I configured CAS authentication server?
  32. I have configured the mailbox server correctly, but why does it still prompt "warning: SMTP server configuration is not legal"?
  33. In the case of a large number of iPortal users, for example: 20, 000 users, start iPortal service will be slower, the loading of user management page will be slow too, how to solve?
  34. How do I understand and distinguish between iPortal's normal user role (PORTAL_USER) and viewer role (PORTAL_VIEWER)?
  35. When I log in to iPortal with a Keycloak account, I fail to log in. How to solve it?
  36. When iPortal and Keycloak are deployed on different machines, the login fails when using the Keycloak account to log in to iPortal in Google Chrome, how can I solve it?
  37. After switching the iPortal language environment to English, the log file and prompt message still display Chinese. What should I do?
  38. How to set the global search address of iPortal as the default search engine in Google Chrome?

    Database

  39. I've created SuperMap iPortal's system administrator account, then I changed to use MySQL database, not using the default SQLite anymore, but when I perform operations like registering serivces, creating maps, the console prompts "Can not add or update a child row: a foreign key constraint fails ... "
  40. When using MySQL 8.0 and above database, iPortal fails to start and an error similar to the following is reported: “Current charset is GBK. If password has been set using other charset, consider using option 'passwordCharacterEncodng'”, how to solve it?
  41. If the user selects a large number of services when generating a key, the generating action is no response and an error like this occurs: "Error updating database. Cause: java.sql.SQLDataException: Data too long for column 'serviceIds' at row 1 ". How to solve it?

    Product upgrade

  42. When upgrading SuperMap iPortal from 8C SP1 to 8C SP2 and later versions, the function of monitoring servers doesn't work, but it worked well on the SP1 version. How to solve?

 

 

  1.  

  2. When starting SuperMap iPortal service, what are the possible reasons and solutions for not passing the environment check?

    A: SuperMap iPortal needs configuring JRE 1.8 or higher, and the license.

    In the catalog of %SuperMap iPortal_HOME%\bin, you can check the version and configuration information of SuperMap iPortal by using “iportal.bat -v” ("./iportal.sh -v" for Linux/Unix). The possible reasons and solutions are:

    (1) Use the right license and make sure the license is properly configured. Please refer to Configuring the License.

    (2) The JRE/JDK version is too low or incompatible. Please download JRE/JDK1.8 or higher and set the environment variables.

  3. Port occupancy error occurs when starting SuperMap iPortal service, which causes iPortal service to fail to start. How to solve?

    A: SuperMap iPortal package are deployed in Tomcat by default, Tomcat uses the 8090, 8015 ports by default, if any of the ports are occupied, you can not start the normal service. You can this problem in two ways below:

    (1) Quit the program that takes the port and restart SuperMap iPortal. Currently known procedures that may occupy 8090 port are: The automatic upgrade program of 360 anti-virus software.

    (2) Modify the Tomcat port number in SuperMap iPortal package and restart SuperMap iPortal. Go to % SuperMap iPortal_HOME% / conf / server.xml, modify the related ports in it, such as: <Server port = "8016" ... ..., <Connector port = "8091" ... redirectPort = "8454" ... ....

     

  4. Why error "java.lang.OutOfMemoryError: unable to create new native thread" occurs when running SuperMap iPortal?

    A: When creating thread in the pool, a physical thread will be created in the operating system. For certain machines with inadequate memory, the memory needed for operating system to create physical thread will compete with Java virtual machine heap memory when the amount of registered data and visits are large, and the system needs to deal with high concurrent requests, resulting in creating threads failed (The maximum memory of Java virtual machine of iPortal 32-bit package is assigned 512M by default, the maximum thread number is 300). To solve the problem, you can:

    (1) Reduce the memory assigned to Java virtual machine by changing Java virtual machine parameter. For example, changing JAVA_OPTS " in %SuperMap iPortal_HOME%/bin/catalina.bat to a smaller value like -Xmx512.

    (2) Reduce the active threads of Tomcat connection pool by changing maxThreads in %SuperMap iPortal_HOME%/conf/server.xml to a smaller value.

  5. What are the possible reasons for the collapse of SuperMap iPortal service?

    A: There are the following possible reasons:

    (1) Check whether you have installed Kingsoft anti-virus software. Running the Kingsoft may cause the iPortal service to crash.

    (2)The Tomcat 7.0.29 will cause memory leaks, please change to other Tomcat versions, such as Tomcat 7.0.26.

     

  6. Why does the SuperMap iPortal service automatically restart in the case of abnormal shutdown?

    A: iPortal provides automatic restarting mechanism to ensure that it can continue to work correctly in the case of abnormal shutdown. The auto-restart feature is valid in the following scenarios:

    • When starting iPortal Windows / Linux installation package by command line

    The auto-restart function does not apply to the following scenario:

    • When starting iPortal via Windows service

    Note: SuperMap iPortal can be shut down by executing shutdown.bat/shutdown.sh (located in the [SuperMap iPortal installation directory]\bin) or press Ctrl + C on the keyboard to end the service. For details, see Server's startup/stop.

    The auto-restart feature is controled by the <restartWhenCrash> parameter under the <properties> node in The system configuration file (iserver-system.xml).

     

  7. Where are the log files placed, when starting SuperMap iPortal via Windows service in Java Web container, like Tomcat?

    A: When starting SuperMap iPortal via Windows service, in Tomcat for instance, iserver-log4j.properties in [ SuperMap iPortal installation directory]\webapps\iportal\WEB-INF specifies the log's location. Open the file, find "log4j.appender.F.File = .. /logs/iserver.log", which means the logs folder located in the upper directory of the service startup file (cmd.exe), that is, the log file path is: C:\Windows\logs\.

    In addition, the user can modify the log4j.properties file above, for example change to a absolute path: log4j.appender.F.File = D:/Tomcat/logs/iserver.log.

     

  8. When stopping SuperMap iPortal, why does the bin generate a * .mdmp file, which causes the disk to take up too much?

    A: When stopping SuperMap iPortal, please use shutdown.bat/sh instead of the Ctrl + C command.

     

  9. If SuperMap iPortal's operating system is configured with multiple IPs, how do I specify the IP used by the iPortal service?

    A: You can specify all IPs used by iPortal by modifying the -Diserver_ip in the Java virtual machine parameters in Catalina.bat. That is: modify the% SuperMap iPortal_HOME%/bin/catalina.bat JAVA_OPTS, set-Diserver_ip for the desired IP, such as:

    set JAVA_OPTS =% JAVA_OPTS% -Xms256m -Xmx1536m -XX: MaxPermSize = 192m -Xss512k -Diserver_ip = 192.168.12.13

     

  10. iPortal does not support the registration of localhost and 127.0.0.1 service address, then how to meet the needs of registering services on stand-alone machine when the network is not available for product demonstration?

    A: When the network is not available, the problem of registering services on Windows platform can be resolved through the following ways :

    Add a mapping to the hosts file in the C:\Windows\System32\drivers\etc directory, for example:

    127.0.0.1    www.iportaldemo.com

    Then registering service address starting with the above domain name.

     

  11. What should I do when I want to start multiple iPortals on one machine at the same time?

    A: To start multiple iPortals on one machine, you need to modify the built-in Tomcat ports and ElasticSearch ports of different iPortals to avoid port conflicts. You can follow the following steps to operate:

    (1) The built-in Tomcat uses 8190 and 8115 ports. Please refer to FAQ 2 to modify the ports to avoid conflict.

    (2) Modify the port of ElasticSearch in different iPortals. Open the startes.bat/startes.sh in the %SuperMap iPortal_HOME%/bin directory, modify the code in bold as shown below:

    java -jar c@echo off

    set "CUR_DIR_TEMP=%~dp0"

    set JAVA_HOME=%CUR_DIR_TEMP%\..\support\jre

    set PATH=%JAVA_HOME%\bin;%path%

    rem start elasticsearch

    if not ""%ESDATADIR%""=="""" goto okdatadir

    set ESDATADIR=%CUR_DIR_TEMP%\..\data\elasticsearch\data

    :okdatadir

    if not ""%ESLOGSDIR%""=="""" goto oklogdir

    set ESLOGSDIR=%CUR_DIR_TEMP%\..\data\elasticsearch\logs

    :oklogdir

    set ESNODENAME=node1

    set ESClUSTERNAME=myapplication

    set ESHTTPPORT=9210

    set ESTCPPORT=9310

    "%CUR_DIR_TEMP%\..\database\elasticsearch\bin\elasticsearch.bat" -Epath.data=%ESDATADIR% -Epath.logs=%ESLOGSDIR% -Ecluster.name=%ESClUSTERNAME% -Enode.name=%ESNODENAME% -Ehttp.port=%ESHTTPPORT% -Etransport.tcp.port=%ESTCPPORT% -Enetwork.host=127.0.0.1 -p espid

    (3) Open the spring configuration file (search-beans.xml) of the global search function provided by iPortal, which locates in the %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF/config/search/WEB-INF directory, modify the code in bold below, the port must be consistent with the ESTCPPORT value in step (2).

    <bean id="esSetting" class="com.supermap.iportal.search.commontypes.ESSetting">

        <property name="address" value="127.0.0.1"></property>

        <property name="port" value="9310"></property>

        <property name="clusterName" value="myapplication"></property>

        <!-- <property name="nodeName" value="node1"></property> -->

        <property name="indexName" value="portalsearch"></property>

        <property name="numberOfShards" value="5"></property>

        <property name="numberOfReplicas" value="0"></property>

    </bean>

    (4) Modify the iportal.xml configuration files in different iPortals to ensure each global search function of different iPortals uses a different service port, shown as the following bold code:

    <IportalConfig>

      ...

      <modulesConfig>

        <searchModuleConfig class="com.supermap.server.config.BuildinSearchConfig">

          <enable>true</enable>

          <reindexAllResources>true</reindexAllResources>

          <startElasticSearch>true</startElasticSearch>

          <port>8192</port>

        </searchModuleConfig>

      </modulesConfig>

      ...

    </IportalConfig>

    (5) Save the above changes. Now you can start multiple iPortals on one machine successfully.

     

  12. After SuperMap iPortal 10i and above have been running normally for a period of time, the resources newly added to the portal are not displayed on the "Resource Center" page, and the console reports the following warning: "index ResourceItem failed. blocked by: [FORBIDDEN/12/index read-only / allow delete <api>]; index resource document MAP1314740420 failed. update resource document MAP1314740420 failed." How to solve it?

    A: Start from SuperMap iPortal 10i and above, some features (such as global search and resource center) are implemented based on the Elasticsearch distributed search engine. Elasticsearch will monitor the disk space. When the remaining disk space reaches the floodstage threshold, it will force all related indexes to be read-only, which is a protection measure of Elasticsearch for disks. You can choose one of the following solutions:

    Method 1: Clean up the disk; or migrate the iPortal product package or the Elasticsearch package you deployed to a disk with sufficient free space to ensure that the disk usage rate is less than 95% (recommended solution).

    Method 2: Modify the default threshold of Elasticsearch. Specific operation:

    (1) In the iPortal built-in Elasticsearch (path: %SuperMap iPortal_HOME%/database/elasticsearch) or the Elasticsearch that you configure yourself, add the following configuration to the /config/elasticsearch.yml file:

    cluster.routing.allocation.disk.watermark.low: 90%

    cluster.routing.allocation.disk.watermark.high: 95%

    cluster.routing.allocation.disk.watermark.flood_stage: 97%

    或:

    cluster.routing.allocation.disk.watermark.low: 100gb

    cluster.routing.allocation.disk.watermark.high: 50gb

    cluster.routing.allocation.disk.watermark.flood_stage: 10gb

    Where, cluster.routing.allocation.disk.watermark.low defaults to 85%, is used to control the minimum disk usage; cluster.routing.allocation.disk.watermark.high defaults to 90%, is used to control the maximum disk usage rate; cluster.routing.allocation.disk.watermark.flood_stage defaults to 95%. Once the disk usage exceeds this value, Elasticsearch becomes a read-only mode and data can't be written. For a detailed introduction of the above parameters, see the Elastic official website document: Disk-based shard allocation settings.

    Note: You cannot mix the usage of percentage values and byte values within the above settings. Either all values are set to percentage values, or all are set to byte values.

    (2) In %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF/iportal.xml , find the reindexAllResources field and set it to true, as shown below:

     <reindexAllResources>true</reindexAllResources>

    (3) Restart iPortal.

     

  13. What should I do if I want to change the configuration of SuperMap iPortal's built-in global search (such as port number, cluster name, node name, etc.)?

    A: You can follow the following two steps:

    (1) Open the search-beans.xml configuration file in the %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF/config/search/WEB-INF directory, and modify the relevant parameters according to your needs.

    <bean id="esSetting" class="com.supermap.iportal.search.commontypes.ESSetting">

        <property name="address" value="127.0.0.1"></property>

        <property name="port" value="9310"></property>  

        <property name="clusterName" value="myapplication"></property>

        <!-- <property name="nodeName" value="node1"></property> -->

        <property name="indexName" value="portalsearch"></property>

        <property name="numberOfShards" value="5"></property>

        <property name="numberOfReplicas" value="0"></property>

    </bean>

    • address: Elasticsearch IP address, which defaults to 127.0.0.1. The global search uses the built-in Elasticsearch by default.
    • port: Elasticsearch's TCP TCP protocol communication port number, which defaults to 9310.
    • clusterName: The cluster name of Elasticsearch.
    • nodeName: Optional configuration item, which indicates the node name of Elasticsearch. If you need to specify an Elasticsearch node, you need to comment out this line.
    • indexName: The name of the index library that stores all resource indexes of iPortal in Elasticsearch, which can be customized. If the corresponding index library does not exist, iPortal will automatically create an index library.
    • numberOfShards: Number of index shards. Used to set the number of shards that Elasticsearch divides the index. Default value: 5, meaning the index will be divided into 5 slices.
    • numberOfReplicas: The number of index copies. Default value: 0.

    (2) Modify the corresponding configuration items in the %SuperMap iPortal_HOME%/bin/startes.bat(sh) file to keep them consistent with the items in the search-beans.xml in step (1). Take startes.bat as an example, modify the following code in bold:

    @echo off

    set "CUR_DIR_TEMP=%~dp0"

    set JAVA_HOME=%CUR_DIR_TEMP%\..\support\jre

    set PATH=%JAVA_HOME%\bin;%path%

    rem start elasticsearch

    if not ""%ESDATADIR%""=="""" goto okdatadir

    set ESDATADIR=%CUR_DIR_TEMP%\..\data\elasticsearch\data

    :okdatadir

    if not ""%ESLOGSDIR%""=="""" goto oklogdir

    set ESLOGSDIR=%CUR_DIR_TEMP%\..\data\elasticsearch\logs

    :oklogdir

    set ESNODENAME=node1

    set ESClUSTERNAME=myapplication

    set ESHTTPPORT=9210

    set ESTCPPORT=9310

    "%CUR_DIR_TEMP%\..\database\elasticsearch\bin\elasticsearch.bat" -Epath.data=%ESDATADIR% -Epath.logs=%ESLOGSDIR% -Ecluster.name=%ESClUSTERNAME% -Enode.name=%ESNODENAME% -Ehttp.port=%ESHTTPPORT% -Etransport.tcp.port=%ESTCPPORT% -Enetwork.host=127.0.0.1 -p espid

     

  14. Why does this error occur when starting iPortal service on a Linux system: "Unable to set localhost. This prevents creation of a GUID"?

    A: Please configure the IP address corresponding to host name in /etc/hosts file. If you add the last row, it means to map linux-3z6l to 192.168.112.213.

    # Syntax:  
    # IP-Address  Full-Qualified-Hostname  Short-Hostname
    127.0.0.1       localhost
    192.168.112.213 linux-3z6l
                    
    

     

  15. Linux system does not have a graphical interface, how to configure the SuperMap iPortal 7C use license through the command line?

    A: There are four steps to configure license through com.supermap.license.jar in the way of command lines:

    (1) Set the Java environment variable, and set the directory of LD_LIBRARY_PATH as com.supermap.license.jar.

    export=./support/jre/bin/

    export=./support/SuperMap_License/

    (2) Get the machine information. Enter SuperMapiPortal7C\Support\SuperMap_License directory, execute the following command with specifying the path where the generated local information file is stored, then a * .c2v file in the specified path will be generated.

    java -jar com.supermap.license.jar -create /path/*.c2v

    (3) Submit the local information to the Beijing SuperMap Software Co., Ltd.

    Submit the local information file (* .c2v) generated by the above steps to Beijing SuperMap Software Co., Ltd., we will generate *. v2c official license file based on it and return to you, through which you can configure the official license.

    (4) Make the license work. Place your *. v2c official license file into a specified location, execute the following command:

    java -jar com.supermap.license.jar -update /pathName/*.v2c

    Besides, you can execute java -jar com.superamp.license.jar -help to view the related commands about license. For details, see: License configuration on Linux.

     

  16. A "The 32bit support is missing. Please install the x86 compatibility packages required by your distribution and retry the installation. See the installation guide for more details.Aborting …" error happens on a Linux 64-bit OS when installing SuperMap License Center driver.

    A: Linux 64-bit operating system lacks 32-bit support libraries. You need to install the related support libraries of 32 bit as follows maually, or you can also load the system disk to install the relevant libraries, or go to the corresponding operating system official website to obtain the relevant libraries to install.

    • libc6-i386 和 ia32-libs(Ubuntu)
    • libstdc++-devel.i686、glibc.i686、libgcc.i686、libstdc++.i686、glibc-devel.i686(RHEL、 CentOS、OpenSUSE、SLES and OES)
    • glibc-32bit(OpenSUSE、SLES and OES)

    For operating systems of SUSE series 10.3 or later, Red Hat series 5.5 or later, iPortal provides a script file to help you install the above dependeny libraries. You only need to run the following command before starting iPortal service in [SuperMap iPortal installation directory]/SuperMapiPortal7C/support/SuperMap_License/Support:

    ./rpms_check_and_install_for_64bit.sh install -y

     

  17. On the Linux OS on Hyper-v, the 7C license fails to install, or it is not available after restarting the system.

    A: If you encounter a license installation fails, or the installed license is not available, you can use the following method to uninstall the driver and then reinstall.

    (1) Use the following command to delete the directory /var/hasplm

    cd /var

    rm -rf hasplm

    (2) Uninstall the license driver:

    cd /SuperMapiServer7C/support/SuperMap_License/Support/aksusbd-2.2.1-i386

    ./dunst

    (3) Reinstall the license driver:

    ./dinst

     

  18. When installing SuperMap License Center on Linux, the error "hasp_update failed with status 65" shows up. Why?

    A: You can skip this message. This occurs when you repeat the installation of license center.

     

  19. When using putty, SecureCRT, SSH to start SuperMap iServer 7C or SuperMap iPortal 7C service on Linux, such error as "Could not initialize class sun.awt.X11GraphicsEnvironment” or “System environment checking failed” appear on the front page. But it works well when starting service locally. Why?

    A. When remotely starting SuperMap iServer 7C and SuperMap iPortal 7C, you need to first log in to the Linux server and run the command below:

    (1) X:n&      Start XServer on the n-th screen. n is any integral, e.g. 22, 30.

    (2) export DISPLAY=:n.0      Set DISPLAY variable to the XServer of the local machine, and restart the service .

     

  20. When starting the iPortal service on the Linux operating system, the following error occurs: java.lang.RuntimeException : can not run elasticsearch as root?

    A: Elasticsearch is built into iPortal to provide global search function. In the Linux operating system, Elasticsearch cannot be started with the root account. If you want to use the self-deployed Elasticsearch search server, you only need to modify the global search configuration file to start iPortal normally; if you use iPortal's built-in Elasticsearch, you need to start iPortal in the Linux terminal as follows:

    (1) useradd elastic     adds a new elastic user.

    (2) chown elastic %Supermap iPortal_HOME% -R    grants adding permissions to the newly created user, where %Supermap iPortal_HOME% is the iPortal directory.

    (3) su root    switches back to the root user.

    (4) vim /etc/security/limits.conf    modify the limits.conf configuration file, add the following configuration at the end of the file:

    elasitc    hard    nofile     65536

    elastic    soft     nofile     65536

    *            soft     nproc     4096

    *            soft     nproc     4096

    (5) vim /etc/sysctl.conf    modify the sysctl.conf configuration file and add the following configuration at the end of the file to increase the memory permissions owned by the elastic user:

    vm.max_map_count=655360

    (6) sysctl -p    loads the modified configuration file.

    (7) su elastic   switch back to the elastic user and run startup.sh to start iPortal normally.

  21. What should I do if I get stuck at "Explicit INI instance has been provided, but configuration locations have also been specified..." when starting the iPortal service on the Linux operating system.

    A: You can modify the /etc/security/limits.conf file according to the following steps:

    (1) Execute the following commands as root user:

    vi  /etc/security/limits.conf

    user soft nofile 65536

    user hard nofile 65536

    user: The actual user name used in the actual Linux should be written. You can also replace it with "*" to indicate that the configuration modification is effective for all users.

    Note: The configuration value of "nofile" for the maximum number of open files in the above process 65536 is not a fixed value. You can modify it according to the actual situation. After the modification is completed, you must switch to a non-root user login to start the iPortal service.

    (2) Switch to a non-root user and execute the following command to check whether the configuration takes effect:

    ulimit -Hu

    ulimit -Su

    (3) After completing the modification, enter the iPortal installation directory, execute the following command to end the current process, and restart the iPortal service.

    ps -ef | grep $PWD

    kill -9  iportal Process ID

    iportal Process ID: You can use the "ps" command to view the process and corresponding process ID related to iPortal.

     

  22. What should I do if iPortal is deployed in the Ubuntu operating system with an English language environment, and garbled characters appear when uploading data containing Chinese or entering Chinese content?

    A: You need to install a Chinese language pack in a Linux system to support the Chinese character set. Take Ubuntu 20.04 as an example, you just need to switch to the root user and execute the following command:

    apt install language-pack-zh-hans

     

  23. Why certain request cannot be recognized and the request may fail or wrong result may be returned?

    A: Because the sent HTTP request did not use UTF-8 encoding. For non-ASCII characters, SuperMap iPortal will use UTF-8 by default. If the request is not encoded with UTF-8, the characters can't be correctly parsed.

     

  24. Restering iServer services proxied by nginx to iPortal, when enabling iPortal service proxy, some resources can't be accessed when accessing the proxied iServer service address. For example, when accessing map resource's rjson representation, the port number of the urls of some resources is not the port number of the iPortal service proxy, but the nginx's listening port. Why, and how to solve?

    A: You need to modify the nginx configuration which proxies the iServer services, open the [nginx installation path]\conf\nginx.conf file, modify the proxy_set_header under the http node -> server node -> location node as follows:

    server {

    ......

            location /iserver{

            #proxy_set_header Host $http_host;

            proxy_set_header ProxyHost $http_host; }

    ......

    Change the $ host: port in proxy_set_header to $ http_host and restart nginx.

     

  25. When sending a request, the scanning tool warns that there is a host header attack vulnerability, that is, "the target URL has a http host header attack vulnerability detected". What should I do?

    A: In the [SuperMap iPortal_HOME]\webapps\iportal\WEB-INF directory of SuperMap iPortal, open the web.xml configuration file, find he hostHeaderAttackFilter parameter, and modify the init-param node > param-value node as follows:

    <filter>

        <filter-name>hostHeaderAttackFilter</filter-name>

        <filter-class>com.supermap.iportal.web.filters.HostHeaderAttackFilter</filter-class>

          <init-param>

              <param-name>allowedHosts</param-name>

              <param-value>127.0.0.1:8190,192.168.17.198:8190</param-value>  <!-- Set hosts allowed by http requests -->

          </init-param>

      </filter>

     

      <filter-mapping><!-- Put in front of other Filters -->

          <filter-name>hostHeaderAttackFilter</filter-name>

          <url-pattern>/*</url-pattern>

      </filter-mapping>

    After the setting is complete, restart the iPortal service.

     

  26. Why does the progress bar remain stuck when uploading data with a large amount of data after using the nginx reverse proxy in iPortal?

    A: You need to modify the nginx configuration. Open the [nginx installation path]\conf\nignx.conf file, modify the values of client_max_body_size and keepalive_timeout under the http node (the default values are 2048m, 65 respectively)

    ......

     http {

           client_max_body_size 2048m;

           keepalive_timeout  65;

    }

    client_max_body_size: Indicates the maximum allowable size of client requests, in megabytes. If the amount of data requested is greater than the client_max_body_size, the HTTP protocol will report an error 413 "Request Entity Too Large".

    keepalive_timeout: Indicates the timeout period for setting the client connection to keep alive, in seconds. After this time, the server will close the connection.

    After setting the above two parameters with larger values, save the changes, and restart the nginx service.

     

  27. Why is the DrawingBox search icon in the global search disabled after iPortal is started with HTTPS protocol? How to solve it?

    A: You need to modify the BaseMapConfig.json file. Open the BaseMapConfig.json file in the [SuperMap iPortal_HOME]\webapps\iportal\resources\web-ui\config directory, and replace the map service address of "baseLayerUrl" with the corresponding HTTPS map in iServer Service address. After the configuration is complete, refresh the iPortal page to check the effect (No need to restart iPortal).

     

  28. After the hosted iServer in iPoral is upgraded, iPortal cannot publish the service normally. What should I do?

    A: You need to re-edit and save the hosted iServer node information in the Hosting Server page even if the information doesn't change.

     

  29. After using the iServer deployed in the cloud-native environment as a hosting server, how to modify the number of microservice nodes used to publish services (the default limit of the number of nodes is 2)?

    A: You can modify the number of microservice nodes in the following two ways:

    • Modify the iportal-monitor.xml configuration file

    In the [SuperMap iPortal_HOME]\webapps\iportal\WEB-INF directory, open the iportal-monitor.xml file, and add the following bold code under the <monitor> node:

    <monitor>

         ...

        <cloudNodeSelectStrategies>

          <cloudNodeSelectStrategy>

              <max>5</max>  

          </cloudNodeSelectStrategy>

      </cloudNodeSelectStrategies>

    </monitor>

    In the above code, the <max> node is to set the maximum number of microservice nodes allowed to create. Note that when the number of nodes exceeds three digits, the server performance may be affected, so please set it carefully.

    • Configure environment variables

    You can also modify the number of microservice nodes by configuring environment variables. In your machine, add the following environment variables:

    MAX_SERVICE_NODE_COUNT=5

    This environment variable is to set the maximum number of microservice nodes allowed to create. Note that when the number of nodes exceeds three digits, the server performance may be affected, so please set it carefully.

     

  30. What should I do if I forget the password of the administrator acount created when SuperMap iPortal was initialized?

    A: There is a passwordreset.bat / passwordreset.sh file in [SuperMap iPortal_HOME]\bin directory, specifically used to deal with the situation that user forget the password of the administrator account created when the system was initialized. If you forget password, you can re-create the administrator account by performing the following operations:

    (1) Stop SuperMap iPortal service, that is, execute shutdown.bat /shutdown.sh file in [SuperMap iPortal_HOME]\bin directory.

    (2) Execute the passwordreset.bat /passwordreset.sh file.

    (3) Restart SuperMap iPortal service, ie., execute startup.bat / startup.sh file in [SuperMap iPortal_HOME]\bin directory. When access the iPortal home page after the service starts, the system will automatically jump to interface of creating administrator account, then just re-create the administrator account.

    Note: If you created the administrator account via Account initialization configuration, directly view the setenv.bat/setenv.sh file in the [SuperMap iPortal_HOME]\bin directory, where the values of "ADMINUSER" and "PASSWORD" are the account name and password.

     

  31. Why SSO failed after I configured CAS authentication server?

    A: When the CAS authentication server and the GIS server are not on the same machine, the time difference between the two servers may result in the failure of log in. In this case, you need to adjust the time to be the same or extend the time tolerance. By default, the tolerance of iServer, iPortal, and iEdge is 3 minutes. You can change it through casRealm.tolerance (unit: ms):

    ......

    casRealm.enabled = false

    casRealm.reserveSystemAccount = true

    casRealm.casServerUrlPrefix = http://{ip}:{port}/cas

    casRealm.casService = http://{ip}:{port}/{contextPath}/shiro-cas

    casRealm.securityInfoDAO = $sqliteRealm

    casRealm.tolerance = 180000

    ......

     

  32. I have configured the mailbox server correctly, but why does it still prompt "warning: SMTP server configuration is not legal"?

    A: If you are using a JDK version of 1.8 and above (the JDK version comes with the iPortal product package is 1.8), the mail server configuration may not be verified when the security protocol uses SSL or STARTTLS, prompting "Warning: SMTP server Configuration is not legal ". You need to resolve by the following steps:

    (1) Download the UnlimitedJCEPolicyJDK7.zip at http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

    (2) Unzip UnlimitedJCEPolicyJDK7.zip to get the following two files

    • local_policy.jar
    • US_export_policy.jar

    (3) Use these two jar files to cover the files with the same name in [SuperMap iPortal_HOME]\support\jre\lib\security directory (recommended to backup the original files)

    (4) Restart the iPortal service

     

  33. In the case of a large number of iPortal users, for example: 20, 000 users, start iPortal service will be slower, the loading of user management page will be slow too, how to solve?

    A: When iPortal service starts, it caches all the users' information into memory by default, all the following operations on querying users' information will be based on memory. When the number of users is large, it is recommended to disable the caching operation to improve the performance. Open the iserver-system.xml file under [SuperMap iPortal_HOME]\webapps\iportal\WEB-INF, add <cacheInfoToMemory> node under <management> -> <security> -> <SecuritySetting> node as follows:

    <management>

    ......

    <security>

            <SecuritySetting>

              <cacheInfoToMemory>false</cacheInfoToMemory>

    ......

    true means that caching all the users' information into memory. When the amount of user data is large, it is recommended to set it to false to disable the caching operation.

     

  34. How do I understand and distinguish between iPortal's normal user role (PORTAL_USER) and viewer role (PORTAL_VIEWER)?

    A: The differences between iPortal's normal user role (PORTAL_USER) and viewer role(PORTAL_VIEWER) are as follows:

    (1) The users who are associated with PORTAL_USER role are the normal users of iPortal, they have the permission to use iPortal, including using, creating and sharing iPortal resources. And the number of this kind of users occupy the number allowed by iPortal's license;

    (2) The users who are assigned PORTAL_VIEWER role can log in to iPortal, and view the resources shared by others, but they can't create and manage resources. And this type of users won't take up the number allowed by iPortal's license.

    For more information about iPortal's normal user role (PORTAL_USER) and the viewer role (PORTAL_VIEWER), see Roles and Permissions.

     

  35. When I log in to iPortal with a Keycloak account, I fail to log in. How to solve it?

    A: There may be two reasons for the login failure. Log in iPortal as the administrator and check whether the following two problems exist.

    (1) There is a problem with Keycloak configuration. You can refer to: Keycloak installation and configuration, log in to Keycloak to check whether the configuration is correct.

    (2) There is a problem with the Keycloak login configuration in iPortal. In this case, log in via the original login interface of iPortal (http://<ip>:<port>/iportal/web/login) and check the Keycloak login configuration. See: Configure and use Keycloak.

     

  36. When iPortal and Keycloak are deployed on different machines, the login fails when using the Keycloak account to log in to iPortal in Google Chrome, how can I solve it?

    A: The reason may be that Google Chrome does not allow cross-domain transfer of cookies. To solve the problem, deploy an Nginx reverse proxy server to avoid the cross-domain problem on Google Chrome. For the deployment of Nginx, please refer to the Service proxy independent deployment configuration.

     

  37. After switching the iPortal language environment to English, the log file and prompt message still display Chinese. What should I do?

    A: You can specify the display language of iPortal log files and prompt messages by setting -Duser.language of the Java virtual machine parameter in [SuperMap iPortal_HOME]\bin\catalina.bat(.sh). After the modification is completed and saved, restart iPortal, it will take effect.

    • Windows system

    In the [SuperMap iPortal_HOME]\bin \catalina.bat file, modify JAVA_OPTS, add the configuration information in bold:

    set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1536m -Xss512k -Duser.language=en -Duser.country=US

    • Linux system

    Enter the bin path of the product package as a non-root user and execute the following command to modify the catalina.sh file.

    (1) Use the vi command to enter the file editing state.

    vi  ./catalina.sh

    (2) Find the JAVA_OPTS, add the configuration information in bold:

     JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -Xms256m -Xmx1536m -Xss512k -Duser.language=en -Duser.country=US"

     

  38. How to set the global search address of iPortal as the default search engine in Google Chrome?

    A: You need to add the iPortal global search address as a search engine first, and then set it as the default search engine. Specifically, you can follow the steps below:

    (1) In Google Chrome, click "Settings"> "Search Engines"> "Manage Search Engines" to enter the search engine management page, click the "Add" button, fill in the following configuration information:

    • Search engine: fill in the name of the search engine, you can customize the name, such as: iPortal global search
    • Keyword: fill in the keyword of the search engine, you can customize the keyword, such as: 127.0.0.1:8190
    • Query Url: fill in the query address of the search engine, reference format: http://127.0.0.1:8190/iportal/web-ui/global-search?keyword=%s , where the ip address in bold should be replaced with your actual IP address or domain name used

    (2) After the addition is complete, click on the right side of the search engine name and select "Make default" option in the drop-down menu.

    After setting, you can enter keywords in the browser search bar to retrieve resources in iPortal using global search.

     

  39. I've created SuperMap iPortal's system administrator account, then I changed to use MySQL database, not using the default SQLite anymore, but when I perform operations like registering serivces, creating maps, the console prompts "Can not add or update a child row: a foreign key constraint fails ... "

    A: Because the iPortal lost the user information in the user_infos table stored in the original SQLite database. You need to synchronize the user information in iportal.db under [SuperMap iPortal_HOME]\webapps\iportal\WEB-INF\iportaldata to the MySQL database. The specific operation is: add the record of the iPortal administrator into user_infos table in MySQL database, if the name of the administrator account is "admin", then the SQL statement is:

    insert into user_infos(name, nickname) values("admin", "admin");

    (For SuperMap iPortal 8C SP1 or previous versions, you also need to ensure that the servicerooturls table in MySQL database is empty, if there is a record, you need to delete), and then restart the iPortal service.

    It is important to note that if you have created maps, registered services, etc., you need to synchronize all portal data in iportal.db to keep the previous portal data when you switch to the MySQL database.

     

  40. When using MySQL 8.0 and above database, iPortal fails to start and an error similar to the following is reported: “Current charset is GBK. If password has been set using other charset, consider using option 'passwordCharacterEncodng'”, how to solve it?

    A: This is because the default password encryption rule of MySQL 8.0 and above is changed from mysql_native_password to caching_sha2_password, which causes iPortal to fail to start. After connecting to MySQL, you can execute the following command to change the password encryption rules:

    use mysql;

    alter user 'username'@'%' identified with mysql_native_password by 'password';

    Where username is the actual user name, % is the host set in the user table, and password is the actual user's password. You need to fill them in according to the actual configuration of the MySQL database. After the configuration is complete, restart iPortal.

  41. If the user selects a large number of services when generating a key, the generating action is no response and an error like this occurs: "Error updating database. Cause: java.sql.SQLDataException: Data too long for column 'serviceIds' at row 1 ". How to solve it?

    A: The failure reason is that the length of the service ID exceeds the character length limit of the corresponding field in the database due to too many services. Depending on your configured portal database (MySQL/Oracle/PostgreSQL), you can try the following solutions:

    (1) MySQL database: Connecting to the iPortal portal database, execute the following SQL statement to change the field type of serviceIds to text:

    alter table keycodes modify serviceIds text not null;

    (2) Oracle database: Connecting to the iPortal portal database, execute the following SQL statement to change the field type of serviceIds to clob:

    alter table "keycodes" rename column "serviceIds" to "serviceIds_temp";

    alter table "keycodes" add "serviceIds" clob;

    update "keycodes" set "serviceIds"=trim("serviceIds_temp");

    alter table "keycodes" drop column "serviceIds_temp";

    (3) PostgreSQL database: Connecting to the iPortal portal database, execute the following SQL statement to change the field type of serviceIds to text:

    ALTER TABLE keycodes ALTER COLUMN serviceIds TYPE text;

  42. When upgrading SuperMap iPortal from 8C SP1 to 8C SP2 and later versions, the function of monitoring servers doesn't work, but it worked well on the SP1 version. How to solve?

    A: You can try to re-enter the password on the "Monitor Server" -> "Monitoring Configuration" page and save it.