11-27-2021 06:20 PM
I am using a cRIO 9042 chassis and have the SystemLink Client installed on the target. I keep getting the error shown in the file attachment when trying to open a systemlink session with the server on the same PC.
Have been unable to find anything in regards to Error -251043 and or "A supported version of the 'nimessage' web service is not installed on the configured web server"
I have no idea what this means and it is rather cryptic to begin with. Any help would be greatly appreciated.
Solved! Go to Solution.
11-29-2021 11:46 AM
Do you have a SystemLink Server installed and setup as well and have you connected the SL client to the server?
11-29-2021 01:22 PM
Good afternoon JoshuaP,
Yes, I have the SL server and client up and running. Not sure what I did but it is connecting now with no problems.
I may have had an older client installed on the RIO and a newer version of the server on my host PC. I reinstalled the client on the target and it seems like it is working now.
Is there a good location to go to for in depth information and or training information on SystemLink? This is my first time using it and I am finding that it is not exactly trivial to get setup properly. Having a problem getting a web interface I designed in G Web Development to show data that I am streaming through the systemlink API. I have confirmed with a test VI on the host and a test VI on the target that the data is coming across the SystemLink Message API, but no data is being published to the web page.
I am getting a JSON error on the webpage that is -375003 or -375004, I cant remember which. It appears that this error is if I stop streaming data from the target side. At least that is what is showing up on my test VIs. This behavior would lead me to believe that the webpage is not connecting correctly to the web server when launched, but I can't confirm that.
11-29-2021
03:13 PM
- last edited on
05-08-2024
10:58 AM
by
Content Cleaner
It is possible that you are running into a CORS or auth issue of some sort, which can be a little tricky to setup.
In general, when you are developing your application make sure you have CORS enabled in the NI Web Server Configuration utility on your SystemLink Server. Make sure you set the SystemLink Open Configuration.gvi server url to match the preferred host name configured in the NI Web Server Configuration utility exactly otherwise it will error out.
Once you are done developing your application you will need to clear out the server url, user, and password before you build it as a package and deploy it to your SystemLink Server. This will allow SL to pass in current logged-in user credentials when your application is loaded and avoid other CORS issues.
Here are some links for more details:
11-29-2021 03:43 PM
JoshuaP,
Thank you for the information, I will take a look at the links.
Is SystemLink even necessary for serving a webpage if you dont intend to use it? It is my assumption that I could use the NI Web Server alone without SystemLink and then just use the SystemLink API in LabVIEW for data transport?
11-29-2021 03:50 PM
SystemLink is required if you are dealing with distributed systems publishing data to a central server. You can use just the NI Web Server if you have a single box solution.
SystemLink is what enables to add/remove the remote clients (PCs or RT targets).
11-29-2021 03:59 PM
JoshuaP,
Excellent, thank you for the wealth of information, you have been most helpful!
Did I understand you correctly in your last post that before I build the web page I need to remove all of the login and credential information from the SystemLink Open API vi? At present I have this VI set with string constants with the login info and credentials, will the software fill these constants in for me when the web page is run?
11-29-2021
04:24 PM
- last edited on
05-08-2024
10:59 AM
by
Content Cleaner
That is correct. You need to remove the URL and login credentials from the SystemLink Open API vi. They need to be empty strings and this will allow the browser login context to be used instead. This will force users to login and can leverage the user permissions built into SystemLink. If you leave the credentials hardcoded anyone with a link to your server will have access to your data and could steal your password.
https://www.ni.com/en/support/security/security-in-ni-web-technology.html
Also, the "NI Web Server" is basically a slimmed-down "SystemLink Server" with fewer microservices, so the documentation is mostly interchangeable and it seems that the content isn't always replicated in both manuals so you may have to use both when searching for information.
11-29-2021 04:27 PM
You have been MOST HELPFUL!
I really appreciate your time and assistance with these questions. I am tearing through the links you gave me and reworking my project(s) so that I can make the changes and then test.
Thank you again.
11-29-2021 06:21 PM
JoshuaP,
I have removed the SystemLink Client and Server software from my computer.
In addition I have setup the server with the simple local access you mentioned. Below is the summary page.
When I run the VI that attempts to connect with the web server on either the RT target, or the host PC, I get the following error.
Here is the block diagram of the VI, it is a test VI to test connection and I get the same results on the host and target.
The error message is when the Skyline Message HTTP Open VI is called.
Not sure what 'nimessage' is.