Troubleshooting RSLs

RSLs can be complicated to create, use, and deploy. The following table describes common errors and techniques to resolve them:

Error

Resolution

#1001 Digest mismatch with RSL

This error indicates that the digest of a library does not match the RSL SWF file. When you compile an application that uses an RSL, you specify the library SWC file that the application uses for link checking at compile time and an RSL SWF file that the application loads at run time. The digest in the library’s catalog.xml file must match the digest of the RSL SWF file or you will get this error. If this error persists, recompile the application against the library SWC file again and redeploy the application’s SWF file.

If you are using framework RSLs, then the SWZ file is a different version than what the application was compiled against. Check whether this is the case by adding a failover RSL SWF file and recompiling. If the error does not recur, then the SWZ file is out of sync.

If you are creating an optimized RSL, be sure to run the digest tool against the library.swf file after you optimized the library.swf file.

#2032
Stream Error

This error indicates that the SWZ or SWF file is not being found.

The frequently occurs if the client is not able to download the signed framework RSL from the Adobe web site, and you have not deployed a local signed framework RSL. If the client has limited or not internet connectivity, be sure to deploy the local framework RSL to a location that is accessible to the client. For more information, see Using the framework RSLs.

It can also occur if Flash Player tries to load a custom RSL that is not available. For example, if you specified only “mylib.swf” as the value of the rsl-url parameter to the runtime-shared-library-path option, but the SWF file is actually in a sub-directory such as /rsls, then you must either recompile your application and update the value of the rsl-url parameter to “rsls/mylib.swf”, or move mylib.swf to the same directory as the application’s SWF file.

#2046

This error indicates that the loaded RSL was not signed properly. In the case of framework RSLs, the framework’s SWZ file that the application attempted to load at run time was not a properly signed SWZ file. You must ensure that you deploy an Adobe-signed RSL, or be sure to use the signed framework RSLs that are deployed on the Adobe web site.

#2048

The cause of this error is that you do not have a crossdomain.xml file on the server that is returning the RSL. You should add a file to that server. For more information, see Using cross-domain policy files.

If you are loading signed framework RSLs from the Adobe web site, you should not get this error.

If you put the crossdomain.xml file at the server’s root, you do not have to recompile your application. This is because the application will look for that file at the server’s root by default, so there is no need to explicitly define its location.

If you cannot store a crossdomain.xml file at the remote server’s root, but can put it in another location on that server, you must specify the file’s location when you compile the application. On the command line, you do this by setting the value of the policy-file-url argument of the runtime-shared-library-path option.

In the following example, the RSL SWF file is located in the /rsls directory on www.domain.com. The crossdomain.xml file is located in the same directory, which is not the server’s root, so it must therefore be explicitly specified:

mxmlc -runtime-shared-library-path=   ../lib/mylib.swc,   http://www.mydomain.com/rsls/myrsl.swf,   http://www.mydomain.com/rsls/crossdomain.xml   Main.mxml
#2148

This error occurs when you try to open an application that uses RSLs in the standalone player or in the browser by using the file system and not a server. It means that you are violating the security sandbox of Flash Player by trying to load file resources.

You must deploy your application and RSLs to a network location, and request the application with a network request so that Flash Player will load the RSL.

If you are testing the application locally, you can add the directory to your Player trust file to avoid this error.

Requested resource not found

You might find this error in your web server logs. If you deploy the RSL SWF file to a location other than that specified when you compiled the application, then you will get an error similar to this when the application tries to run.

The solution is to either recompile your application and correct the deployment location of the RSL SWF file or to move the RSL SWF file to the location that the application expects.