All Products
Search
Document Center

HTML5 application and mini program load failure: System busy, please try again later.

Last Updated: Jun 01, 2021

Problem description

When a developer attempts to run HTML5 application after completing the basic access, the container page displays “The system is busy, please try it again later” as shown in the following figure:
9

Common causes

Before running an HTML5 application, the mPaaS framework needs to know the basic information of the offline package, so the client will actively pull the offline package information through RPC API alipay.client.getUnionResource. If it fails to obtain the offline package information or fails to hit the target application to be launched, the container will display prompt information that “The system is busy, please try it again later”.
For these problems, issues such as RPC request and match between environment and release of offline package must be examined.

Troubleshooting procedure

Check whether RPC request is as expected

As described in Common causes, the client needs to actively pull offline packet information, and the pulling process relies on RPC requests. If there is a problem with the RPC link, the offline packet information cannot be obtained properly, resulting in loading failure. To confirm if there is an issue with the RPC request, search for alipay.client.getUnionResource in the Xcode console to see if the RPC request returns properly. If errors exist, general error codes include the 7XXX or 3XXX series and so on, such as:

  • Example of a normal return, of which the result-status is 1000:
 
  1. Demo[83767:2555863] [mPaaSLog] APMobileNetwork alipay.client.getUnionResource resp:{
  2. "Content-Encoding" = gzip;
  3. "Content-Type" = "text/plain;charset=UTF-8";
  4. Date = "Tue, 11 Aug 2020 05:01:37 GMT";
  5. Vary = "Accept-Encoding";
  6. "mgw-traceid" = 0a1cfd401597122097726853822435;
  7. "result-status" = 1000;
  8. "server-time" = 1597122097739;
  9. }
  • Example of a wrong return, of which the result-status is not 1000:
 
  1. Demo[83383:2546279] [mPaaSLog] APMobileNetwork alipay.client.getUnionResource resp:{
  2. "Content-Length" = 0;
  3. "Content-Type" = "text/plain;charset=UTF-8";
  4. Date = "Tue, 11 Aug 2020 04:50:08 GMT";
  5. memo = "%E9%AA%8C%E7%AD%BERPC%E6%8E%A5%E5%8F%A3%20%E5%8A%A0%E7%AD%BE%E6%95%B0%E6%8D%AE%E4%B8%BA%E7%A9%BA";
  6. "mgw-traceid" = 0a1d7667159712140890222728553;
  7. "result-status" = 7014;
  8. "server-time" = 1597121408902;
  9. tips = "%E9%AA%8C%E7%AD%BERPC%E6%8E%A5%E5%8F%A3%20%E5%8A%A0%E7%AD%BE%E6%95%B0%E6%8D%AE%E4%B8%BA%E7%A9%BA";
  10. }

Solutions to errors of RPC 7XXX series

See document Description of Gateway Result Code, errors of 7XXX series are related to the signature verification process of RPC requests. Common error codes and causes are as follows:

Error code Description Examples
7000 Public key has not been set up There is no key corresponding to the appId in the security guard in the mobile app or the gateway cannot get the signature key corresponding to the appId.
7001 Parameters for signature verification are not sufficient Signature verification on the gateway server side has failed.
7002 Unable to verify the signature. Signature verification on the gateway server side has failed.
7003 Signature verification - time-sensitive failure The timestamp of the API request entry ts exceeds the valid time limit set by the system. Check if the client time is the system time.
7007 Signature verification - missing of ts parameters The API request is missing the ts parameters of signature verification.
7014 Signature verification - missing of sign parameters The API request is missing the sign parameters of signature verification. Usually, it is the client that fails to sign the data, resulting in missing sign parameters. Check whether the security guard image on the client is correct.
  • The basic troubleshooting is as follows:
  1. Check whether the Bundle ID set on the mPaaS console is completely consistent with that of the iOS project, including:
    1. Bundle ID set on the mPaaS console (Console > Code Configuration > iOS).
      10
    2. Bundle ``Indentifier of the project:
      11
    3. Bundle Indentifier of the Info.plist in the project:
      12
  2. Check whether the contents of .config file downloaded by the console are completely consistent with that of meta.config in the project:
    1. .config file downloaded by the mPaaS console:
      13
    2. meta.config in the project:
      14
  3. Whether the time of the client device is the current time, of which the time error must be less than 8 hours.
  4. Apsara Stack developers must note that security guard images need to be generated manually and put into the project. Public cloud (aliyun.com) developers may ignore that.
    15
  5. If there is any inconsistency found in the foregoing check, the check fails. In such a case, we recommend:
    1. modifying the information in the project to ensure that it is consistent with that of the mPaaS console.
    2. If the phone time information is incorrect, correct the time configuration.
    3. Download the latest .config file from the console and re-import it through the mPaaS Extension plug-in:
      16
    4. After confirming that all information is correct, uninstall the installed app, repackage and compile it for debugging, and observe whether the RPC 7XXX error is resolved.

Solutions to errors of RPC 3XXX series

The solutions to errors of RPC 3XXX series are only applicable to Apsara Stack developers. Public cloud (aliyun.com) developers may ignore that.
After enabling data encryption of the gateway (Console > Backend Service Management > Mobile Gateway > Gateway Management Tab Page > Data Encryption), if the client data encryption is not configured or is configured incorrectly, the alipay.client.getUnionResource RPC request may return an error of 3XXX series such as:

Error code Description Examples
3001 The requested data is null The requestData in the client’s request data is null. Check whether the client RPC is normal, and make sure that the gateway service is initialized at the iOS end.
3002 Wrong data format There is a problem with the RPC request format. Apsara Stack users can view details in the server-side log gateway-error.log.
3003 Failed to decrypt data Failed to decrypt data.

The basic troubleshooting

  1. Check if the data encryption function of the mobile gateway is enabled in the console.
  2. Check whether the client encryption configuration is correct, including whether the key matches, whether the format is correct, and so on, according to the Data Encryption Configuration Document.
  3. After confirming that the configuration is correct, uninstall the installed app, repackage and compile it for debugging, and observe whether the RPC 3XXX error is resolved.

Check whether the HTML5 App information and release status are correct.

As described in Common causes, the client needs to actively pull the offline package information. If the server does not return the target offline package information under the premise that the RPC request returns normally, it will also result in a load failure error, which is due to the offline package AppNotExist not existing.

The basic troubleshooting:

  1. Verify that the alipay.client.getUnionResource RPC request returns properly according to the instructions of [Check if the RPC request is ok] (# Check if the RPC Request is OK).
  2. Search the error keyword AppNotExist in the Xcode console for and confirm if the root cause of the problem is that the target HTML5 App was not found, for example:
    17
  3. Cross-check the following information in the mPaaS console and iOS project, including:
    1. for such metadata as worksapceId, appId, and mpaasapi: the relevant configuration in the console and meta.config should be exactly the same; if not, you need to download the .config file again and import it.
    2. Target offline package ID: the offline package ID in the offline package management page should be the same as the offline package ID to be opened in the project code;
    3. Check the offline package release status and confirm whether there is a version of release status in the offline package:
      18
    4. Check the release status of the offline package and confirm the resource type of the offline package: it must be a “normal resource package”; “global resource package” cannot be opened directly.
    5. Check the release status of the offline package and confirm the version of the released offline package: it must be later than the installed version of the offline package on the client.
    6. Check the release status of the offline package and confirm the client version range covered by the release: it must cover the current version number of the test app. Note: For iOS projects, the client version number depends on the Produc Version field in info.plist, rather than the Xcode project version, so the developer needs to synchronize it manually.
      19
      20
    7. After confirming the above information is correct, uninstall the installed App, repackage and compile it, and then debug it to see if the AppNotExist error is resolved.

Ticket for assistance

If you still can’t solve the problem, prepare a Demo project to reproduce the issue and contact mPaaS after-sales support through Alibaba Cloud Ticket System.