LabVIEW Web Services

I am trying to figure out whether LabVIEW Web Services uses TCP/IP or UDP.
We are serving up a web service, and all the data is being sent, but sometimes all the packets do not arrive at the other end.  The client requesting from the service doesn't know what to do.
Does anybody have an idea if this is a UDP problem, a setting issue, or should the client have to deal with lost packets, as opposed to the TCP/IP dealing with that.
If anybody has an idea on this, I would love to hear it.
A. 

We are sniffing the packets at the output from the server, and they are all present.
We then sniff again at the client, and they don't always all arrive, i.e. sometimes packets are missing.
There is no rebroadcast however, the software on both ends just stop communicating? thoughts?
We haven't built in any smarts to the client software to deal with lost packets, as we believed that TCP/IP would take care of this.
Helpful ideas/thoughts/pointers would be appreciated. 
A. 

Similar Messages

  • LabVIEW Web Service Error on Render ESP Template

    Hello
    I was hoping people would be able to help with the following problem:
    I am trying out the Embedded Server Page (ESP) scripting functionality of the LabVIEW webservices and keep receiveing an error when attempting to render a page.
    I believe that I have set up the HTTP request handler correctly - buffered stream with headers
    The correct template is located and used as the page renders upto the esp variable insertion point.
    I find that the Address Book example works fine, except if I try and add an additional variable to the template, then the same error occurs.
    I have attached an example project that displays the same behaviour and the error is below.
    Tested on LabVIEW 2014 (14.0.1 SP1) 32 bit on 64 bit Windows 7.
    Cheers
    John
    Error -67035 occurred at NI_WebServices.lvlib:Error Converter (ErrCode or Status).vi
    Possible reason(s):
    LabVIEW:  (Hex 0xFFFEFA25) LabVIEW Web Services: ESP Error.
    Complete call chain:
         NI_WebServices.lvlib:Error Converter (ErrCode or Status).vi
         NI_WebServices.lvlib:Web Request.lvclass:Render ESP Template.vi
         Test.vi
         Test.vi.ProxyCaller
    *****************************************************************************************************

    Hi John_Neutron,
    I've been working on your code today and we managed to replicate and fix the error you were seeing.
    The Web service does call the ESP file and render the page, but it throws the error because the variable you are trying to set has not been properly declared. We managed to make the error dissapear by changing the ESP text file with notepad as follows.
    <%
    //This is a server side comment
    // Variables:
    var myvariable;
    %>
    <! Here comes the HTML >
    <html>
    <head><h1>This is the test template</h1></head>
    </br>
    <body> This is now the body:
    <p>Here comes the varaiable</p>
    <p>Variable: @@myvariable</p>
    </body>
    </html>
    Before, you had // in front of the variable (making it a comment) and you didn't have "var" in front of it to say you were declaring anything (this is all in the 4th line). Without the proper declaration, the code throws an error when it is called.
    Vsenior

  • Labview Web Service Stop

    I started to use Labview Web Service and I have a couple of suggestions
    In the Startup Vis you are able to monitor the status of the web service, but you are not able to close it. It says that labview will automatically close the Labview Web Service when closing a standalone exe, but there are some schenarios where you might want to close programatically the web service. e.g.:
    - When building a standalone exe and you want to be able to close the service programatically.
    Also,
    As soon as the web service receives a URI that doesn't have a Web Resource, it throws an error without been able to handle it. Been able to handle the error could be beneficial when trying to make a dynamic routing system e.g. Many web frameworks.
    BR

    Darshan,
    Yeah, I believe your method would indeed allow you to programatically stop and start the web service.  The easiest way I can think to do this is to use the System Exec.VI to start the process, and then again to kill that process.  Take a look at the following example that shows how to stop a process using LabVIEW.  
    http://digital.ni.com/public.nsf/allkb/80432B061C5​A4C888625705400737BE8
    If you are building an executable and want to make it a background process, you will want to take a look at the following link:
    http://digital.ni.com/public.nsf/allkb/EFEAE56A94A​007D586256EF3006E258B
    Regards,
    Shane C
    Regards,
    Shane C
    Applications Engineer
    National Instruments

  • Incomplete behaviour of System Exec VI when part of a LabVIEW web service

    Background
    I would like to execute arbitrary command line commands via a LabVIEW web service.
    Problem
    I have a LabVIEW project (attached) with a VI boot.vi that takes a string as an argument, which is handed over to the System Exec VI.
    This boot.vi works nicely: when I execute it with a string "test", it nicely executes my Ruby program "test.rb" because (i) I put the path of my the directory inside which test.rb resides into my PATH system variable and (ii) ".rb" endings are associated with Ruby programs on my PC. Similary, I can hand over the string "PATH", and it displays my PATH system variable.
    However, if I build and deplay boot.vi as a LabVIEW webservice, the situation looks differently:
    - the URL "http://localhost:8080/serviceManager/boot/PATH" works fine: the content of my PATH system variable is correctly displayed in the browser window as expected.
    - However, the URL "http://localhost:8080/serviceManager/boot/test" does not work as expected. The following error message (coming Standard Error output of the System Exec VI) is displayed: 'test' is not recognized as an internal or external command, operable program or batch file.
    My conclusion
    System Exec VI does make correct use of the search paths in the PATH system variable only when NOT executed as part of a web service. This is the case although even in a web service, the content the PATH system variable is KNOWN to the System Exec VI. Strange!
    Question
    Am I doing something wrong? Or is there a work-around?
    Attachments:
    serviceManager.zip ‏7 KB

    I just wanted to add my experiences to this thread.  We have a similar web application, and in fact it seems like we followed many of the same trials with the Internet Toolkit and G Web Server.
    As of today, I have migrated our GWS/cgi based application to use web services and the LabVIEW 2009 built-in web server.  It was a fairly straightforward move, though I did run into difficulties bridging the gap between our "normal" application instance and that of the web server that holds the web service VI's.
    Now I'm looking to move to LabVIEW 2010 and right away running into some problems.  While our web application has individual pages served depending on the web service called, it also uses a common pool of static web pages.  Typically these would install to the traditional "web root" folder and would be served from there.
    LabVIEW 2010 has the "Application Web Server" set up as a service that starts with the system.  That seems to work fine.  It also hosts its own configuration page through the "System Web Server" on port 3580.  This too seems to work, but has very few configuration options available.
    I have also spotted this article that discusses serving static pages from the Application Web Server:
    http://digital.ni.com/public.nsf/allkb/2D926638796FB20E8625778F00572966
    I believe I can drill down into the web server configuration (.conf) files and set things appropriately, but I think there should be more documentation available from NI describing the configuration options and how to support these in a deployed web application.
    James

  • Labview Web Services: How to 'undeploy' web services

    I have created the example web services:
    Address Book project in labview\examples\comm\webservices\address book for an example of a Web service that handles post data, streaming output, static content, and HTML forms.
    Weather Monitor project in labview\examples\comm\webservices\weather monitor
    for an example of a Web service that publishes simulated weather statistics.
    Using Web UI Builder, they are always included in the list of available web services when I Import Web Service.
    How do I get rid of them?
    Solved!
    Go to Solution.

    Hello, 
    To remove them from the list, you need to undeploy the web service. There are two ways to do this: you can turn off Web Services in Distributed System Manager or you can delete the Web Service file.
    To enable the ability to control Web Services in Distributed System Manager follow the steps in KnowledgeBase 5BLESQW5.   
    To remove an actively running web service go to C:\ProgramData\National Instruments\WebServices\aws (Windows 7) and remove the directory that has your web service name. Because we also cashe the LVWS files in another location on disk we will also have to remove that to ensure the Web service is not redeployed by the system web server at some other time. Go to C:\Windows\System32\config\systemprofile\Documents\LabVIEW Data\WebServices\Standalone and remove the LVWS file associated with you web service.
    Hope this helps! 
    Julianne K
    Systems Engineer, Embedded Systems
    Certified LabVIEW Architect, Certified LabVIEW Embedded Systems Developer
    National Instruments

  • LabVIEW web services import wizard can only import .asmx?wsdl URLs only?

    Hi,
    I am new to using web services from labVIEW.
    I would like to import list of methods a web service is providing into LabVIEW VIs
    is there any limitation in terms of the
    Web services should have been developed only in .net
    Not in Java or C etc.
    I am seeing an url which we needed to use as "http://10.155.20.100:8080//ControllerService" only.
    This is not being accepted by import wizard
    Can anyone please enlighten me on this?
    Regards
    Prakash

    I'm running into the same problem except I'm deploying the webservice using .NET WCF (not asp). I'm using LabVIEW2011 32bit on Windows 7 64bit. Is this possible? My WSDL URL is something like this: http://localhost:8085/TSNISvcLib/TSNISvcLibImpl/ABC?wsdl and I'm getting the error below:
    AEs please advise/respond!!! 
    Attachments:
    4DEL.png ‏3 KB

  • How to create a 404 page with LabVIEW web services?

    Hi community,
    I guess the question says it all... I have my site up and running but I'd like to create a default 404 page just in case the user mistypes something. How can I do that?
    thank!
    Solved!
    Go to Solution.

    1984 wrote:
    My question is how can I configure LV to display a custom 404 message instead of just displaying the default?
    Thanks for asking if i have problems publishing a page after I wrote in my first comment that I have my site up and running.
    I believe he's telling you to use the same logic that was used to display the error, but instead of displaying an error, display your custom page.  I asked if you had trouble publishing the page because I thought that Shane's clarification post was pretty self-explanatory and that was the only thing I could think that you would be having issues with.  And I guess your site isn't truly up and running if you wanted to display a custom 404 page and was not able to do so.  I would say it was still under construction. 
    Bill
    (Mid-Level minion.)
    My support system ensures that I don't look totally incompetent.
    Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

  • LabVIEW 2013 Web Service works on debug server but not on application server

    I have made a LabVIEW web service, that needs to get 2 inputs from the user through html request, and one input from a running VI. For this communication I have used a notifier to transfer data between the VI and the webservice method. This works perfectly fine on the debug server, but doesn't work when I deploy the web service on the Application Web Server. As shown in the attached snippets, I use a FGV to transfer the reference of the Notifier from the VI to the web service method. This is the same method that is described in this link.
    Is this method correct? Or am I missing something?
    Chinmay Anand Misra
    CLD
    Technical Marketing Engineer
    NI IndRA

    I can't find the right link but....
    There is something I ran across a while ago about how to enable the correct server port in you application.  The VI Server debug port gets enabled with debugging enabled but, you need to specify your services port in the <MyApp>.ini file.
    I'll sit back and watch the masters now
    Jeff

  • Using web services in Labview

    Hi!
    I try to use http://zone.ni.com/devzone/cda/tut/p/id/7350 Calculator - web service by Labview vi. When I run my call sum.vi I get "Error 66 occurred at TCP Read in NI_InternetTK_Common_VIs.lvlib:TCP Buffered Read.vi:2->NI_InternetTK_Core_VIs.lvlib:URL Get HTTP Document.vi:1->call sum.vi" - error message. When I put url: "http://localhost/Math/Sum/3/1"- in browser I get answer to the browser but I want to call that service from vi.
    How can I use Labview web services inside Labview?
    Attachments:
    call sum.vi ‏8 KB

    Jörn wrote:
    Hi,
    you are trying to connect to a webserver on your computer (i. e. localhost) and I guess you don't have any installed. Try another address and make sure that Windows does not block LabView to access the internet.
    Jörn
    Yes I try to connect localhost. I think that I have Labview webserver running because I can connect it by web browser (http://localhost)  and this calculator- web service (http:/localhost/math/sum/2/3) is running and I can call it by web browser.
    From different computer:
    1. By browser everthing is ok and I get answer from calculator- web service and see Labview webserver front page.
    2. By Labview Vi (call sum.vi) I get same Error 66.
        - Server side  access.log says:
           "xxx.xxx.xxx.xxx - - [Thu Jun 25 11:34:21 2009] "GET /math/sum/1/2 HTTP/1.0" 200 295"
           where xxx.xxx.xxx.xxx is client computer ip.
    I think that client vi can connet to the server.
    I can read normal web pages from Labview Vi and get web page source. Could this be the problem?
    When I call service from browser Log say:
    "xxx.xxx.xxx.xxx - - [Thu Jun 25 12:16:51 2009] "GET /math/sum/1/2 HTTP/1.1" 200 295"
    From Labview vi HTTP/1.0 and from Browser HTTP/1.1 ?

  • Web Service deploy error

    Hello everyone!
    I've created a Web Service from a VI. This VI has two inputs values: a String and and Int8 and one single output: an array of DBL values (array of 1x3). Both inputs and outputs are well connected through the Connector Pane.
    So, in the Project>> Build Spedifications I've created WS, builded with the Advanced>> Use LabVIEW 8.x file layout option checked, in the WebService(RESTful) settings dialog. The problem appear when I try to deploy this WS. The next error is shown:
    Error LabVIEW: (Hex 0xFFFEF84D) LabVIEW Web Services: An error occurred when extracting the deployed Web service. Rebuild the Web service by selecting the "Use LabVIEW 8.x file layout" option in the Advanced tab of the web Service properties dialog.
    How can I solve this problem?
    Thank you!
    Francisco José Gómez López
    Software Engineer
    Solved!
    Go to Solution.

    This is exactly what I've done! I build my web services with this option checked. I don't know the reason why the error still persist.
    I attach a zip file containing the Web Services VI and other VI needed. If you coult try to build the WS and deploy it...
    Francisco José Gómez López
    Software Engineer
    Attachments:
    VIasWS.zip ‏138 KB

  • XML Header Web Services 8.6

    I am developing an HTML application using LabVIEW Web Services in version 8.6. I configured a VI to output data as XML.  I am using the jQuery framework for javacript at this time. I noticed that when I try to get the data from this VI as XML jQuery won't load load it (might be having the same issue with prototype). After running a packet capture this is what I found the data from LabVIEW to look like:
    HTTP/1.1 200 OK
    Date: Tue, 18 Aug 2009 13:55:03 GMT
    Server: Mbedthis-Appweb/2.3.0
    Cache-Control: no-cache
    Content-type: text/xml
    Content-length: 87
    Connection: keep-alive
    Keep-Alive: timeout=60000, max=98
    <Response><Terminal><Name>read_buffer</Name><Value>13.509</Value></Terminal></Response>
    So it seems that  the <?xml version="1.0"> tag at the top of the document is not being sent out and I have to add this manually to my javascript code before it works. Is there anyway to force LabVIEW to send this out on the server side? My javascript code:
     <script type="text/javascript" src="js/jquery.js"></script>
     <script>
     $(document).ready(function(){
      $.get("../LambdaWeb/lambda/read_volts", null, function(data){
       var xml = $('<?xml version="1.0" ?>' + data);
       alert("Data Loaded:" + xml);
      }, "xml");
     </script>
    Also on a side note. I know that JSON is now available in LabVIEW 2009; is there anyway to get JSON support for 8.6?
    Message Edited by Pawel Kowalski on 08-18-2009 09:09 AM
    Message Edited by Pawel Kowalski on 08-18-2009 09:10 AM

    Is there any way so that one can send data (array 'DBL' & about 60,000 elements) after converting it to a string using 'Flatten to String' function and not using 'Flatten to XML'?
    Reason behind using 'Flatten to string' is the size of flattened data is much lesser that it would be in later case.
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.

  • Change web service refresh rate

    I'm running LabVIEW Web Service with an application which follow the method shown in the weather monitor example. But my problem facing here is I need to keep click the refresh button then the Web Service only can update the latest data for me. So can anyone help me to show example on how to let the Web Service webpage automatically update the value without press the refresh button. Thank you
    Solved!
    Go to Solution.

    First of all your client needs to support it. If you use the LabVIEW HTTP Client (GET.vi and so on) you cannot use this method. A normal browser should.
    Take a look at FindContacts.vi from the Address Book example.
    The help topic linked in the previous post should get you on the way as well. The infos are a bit scattered all over help file but it should be possible to understand it.
    Basically there are two output options for a web service VI: Terminal mode as used in the Weather example and Stream mode as used in the Address Book example VI.
    Use the Stream mode and construct the HTML page yourself, then send it to the browser with Write Response.vi. Somewhere in the top of the HTML page you need to insert
    <meta http-equiv="refresh" content="5">
    So you should return a string like
    <HEAD>
    <TITLE>my title</TITLE>
    <META http-equiv="refresh" content="5">
    </HEAD>
    <BODY>
    <P>If your browser supports Refresh,
    this page refreshes in 5 seconds.
    And add some real contents here
    </BODY>
     See W3C as well.
    Good luck

  • Web services and security

    hi, i've successfully programmed a labview webservice and its all working fine, but im using a computer with public IP, and i can access to this webservice just typing the adress like in the webservices examples. my question is how can i create an authentication in a way that only the person with credentials can access his service? There are an easy way to have variables connected directtly connected to vi to verify the users before using the service?

    Have a look at this document and post back if you still have questions after reading it:
    LabVIEW Web Services Security
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Certain data missing from Web service output in LV8.5.1

    I just installed Labview 8.5.1 and thereby got rid of a problem where the Import Web Service Wizard hung.
    However, a new problem appeared. The XML output of my web service call does not contain the actual result values. When I call the web service using SOAPUI from http://www.soapui.org/, I can see the actual result values in a section of the XML output called diffgr:diffgram. When I inspect the Labview XML output, the whole diffgram section is missing! Se attachments.
    Any help appreciated!
    Attachments:
    SOAPUI Web Service output2.txt ‏3 KB
    Labview Web Service output1.txt ‏1 KB

    It is on our company's intranet. The description in wsdl-format is attached.
    (You might have to save it as a .txt file on your hard drive in order to view it with Notepad.)
    Message Edited by andreas nilsson on 04-23-2008 05:47 AM
    Attachments:
    Axaptaws_wsdl.txt ‏146 KB

  • Web services with LV client

    A typical approach to web services is to access the host (an embedded cRIO, for example) using a client running in a browser with some JavaScript.  Has anyone implemented a LabVIEW client that calls the web services on the host?  How might this be done?
    Solved!
    Go to Solution.

    Hello kc64,
    I am sorry about the confusion. I am going to parse your response in the post to hopefully be more clear and answer the questions you are asking.
    My current project status is this:  I have a cRIO with a working RESTful web service and I can access it using my browser.  It works great.  Now, I want to access the same service using a LabVIEW client. It has been established that LV can act as a client to a web service by the fact that it will actually generate the interface code to access the server using Tools | Import... | Web Service.  I have generated a client for an Internet accessible web service and it works.  That process, however, required a WSDL file from the server.  I don't have a WSDL file for my cRIO web service. I can make one if absolutely necessary in order to use the web services import wizard.
    I have done more research on this and right now we can say that using RESTful web service by itself will not provide you the functionality to create a LabVIEW client. What we think might be possible is to create a WSDL file to access this web service but we need to talk with R&D to see about this. We know that LabVIEW doesn't have the ability to generate the WSDL file for you so you will have to create this. When I find out more information about this, I will send it your way.
    Or I can write my own client in LV if I new how to register the service with .NET, which I do not.  So, it is a fact that LV can be used to build a web service client.  I seek to better understand how that may be done.
    Yes you can and we have seen several customers do that with .NET. I also asked R&D about this and they said that you could use TCP/IP in order to get the information into LabVIEW as well. I did some research how to do this online and I found a presentation explaining how to do this as well as some code at LAVA by John Lokanis. In the notes of this example of this code, it states that there is "a VI that demonstrates how to call a LabVIEW web service from a LabVIEW VI or Application." which is exactly what you want to do.
    I hope this information helps you and when I have more information about this, I will send it your way. Again I am sorry for the confusion.
    Jim St
    National Instruments
    RF Product Support Engineer

Maybe you are looking for

  • [FIXED]Toshiba Satellite m45-s359 brightness issue

    Hi all. I recently replaced the screen on my Toshiba Satellite, as it had a large crack in it. Thing is, the new screen is WAY too bright. What was once white is now a blinding light, and what was once pitch black is now a light grey. The battery lif

  • Install issue with CS2

    A customer service rep recently directed me to the CS2 download on the Adobe website as a replacement for my CS install. I got all the files downloaded and followed the installation instructions on the PDF from the download link. However, the install

  • WOW... help please

    so i just got FCP and i am lost... i have three main problems right now (a) i'm lost (in due time this should resign) (b) the clips that i imported into my compy, using imovie (.dv format) work in the viewer, but when it gets onto the canvas... the a

  • Web Dynpro for ABAP Naming Convension & Guide line

    Hi, everyone. I have a plan to implement Web Application as WDA(Web Dynpro for ABAP). but I don't know how can I give a name to Windows or Views or Custom controllers. If you have a naming convension or guid line document, Could you share the documen

  • How to import MP3 files from ITunes

    Hello, I am new with Mac and GarageBand (GarageBand'09-5.1) How can I import, from my iTunes library, a mp3 files in GarageBand, to use it. Thanks for clear answer