
Potentially any LabVIEW side function or VI that you create could be enclosed in this wrapper and called by anything (Java, Python. The actual method called is under XML-RPC Methods - open it to see how the XML-RPC protocol is converted to LabVIEW args and the LabVIEW output is converted to XML-RPC and returned to the server. I'm still finding things like this that I wind up changing.

So I've been having to learn a half completed framework, and turn it into a fully operational system. The coder who started the project just quit showing up, and I got hired. The "Call Generate Sine Wave.vi" demonstrates calling a LabVIEW function (the Sine Wave Generator) as an XML-RPC method. In answer to that Yen, I've inherited the job. Use the "Set Server State.vi" to start and stop the server. XML-RPC complements rather than competes with the ReSTful architecture of the new 8.6 Web Services. Is XML-RPC still useful given LabVIEW 8.6's Web Services capability? I don't know - I do know that XML-RPC is a lightweight implementation supported by many languages so the answer is probably "yes".
#Labelview 8.6 code
This server could be a real-time LabVIEW server (cRIO, for example) since this server should run on any LabVIEW target (including Linux and RT) and is compatible with LabVIEW 7.X - I say should be because I have not had the opportunity to test on a RT or Linux target but there are no dependencies in the code that aren't available on LVRT or Linux. One example is for a Java application to control and collect data from a remote LabVIEW server. NET, Perl, and Python - see for details) to call a LabVIEW built function. This project is useful to allow any language that supports XML-RPC (most any, including Java. This LabVIEW Project (8.5.1 and 7.1.1) providesġ) a LabVIEW XML-RPC server - accepts TCP/IP connections and calls XML-RPC Enabled LabVIEW functionsĢ) XML-RPC Message Builder tools - Allows conversion of supported LabVIEW data types to XML-RPC data typesģ) XML-RPC Parser tools - converts XML-RPC data to supported LabVIEW data typesĤ) Method Template,vit - wraps LV VIs to create XML-RPC callable methods Or just catch the fault and try again until the method becomes available.

If one needs re-entrancy, build a wrapper method that launches the reentrant instances. If one tries to call a method that is busy, an XML-RPC fault will be returned immediately since this server does not support reentrant method calls. This has been corrected and new methods will be launched asynchronously as fast as the server can process them. Thanks to Richard Graham for identifying this bug and providing a fix (now incorporated into the project).Ģ) The server unintentionally blocked on some method calls and became unresponsive while the method call executed. LabVIEW 8.0 and 7.1 versions remain at release 1.1.0 This release is for the LabVIEW 2009 and LabVIEW 8.5 versions. Sandia National release fixes error handling when the server does not start and port selection fron the Set Server State.vi.
