Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » Elevate Web Builder Technical Support » Support Forums » Elevate Web Builder General » View Thread |
Messages 1 to 9 of 9 total |
Response body of HTTP GET |
Tue, Feb 7 2017 8:07 PM | Permanent Link |
KimHJ Comca Systems, Inc | I'm trying to send a response to a HTTP GET but for some reason it does not work.
I know I'm talking to the printer because it sends a POST asking if there is any print jobs, I response with a True or False, if it receives a True it will send a GET requesting the print data. I send the data but nothing prints. If I send the same data to the printer using USB or Ethernet connecting it prints. Here is what is requested in the manual: "The server response should include the print job data as the message body, encoded in the requested format, and with the requested format as the specified content type in the http header." "Following media types are supported: text/plain, image/png, application/vnd.star.line, application/vnd.star.linematrix, application/vnd.star.raster, application/octet-stream" "The server should set an appropriate "Status: " field in the response header, with one of the following values. • 200 (OK) If the operation succeeded and the job was returned as expected. • 404 (not found) If no data is available for printing. " Here is what I send: TempStr := 'alll the printers esc codes need for printing'; Request.SendCustomContent(UTF8Encode(TempStr), 'application/vnd.star.line; charset=utf-8',''); And nothing happens. Thanks for any help. Kim |
Wed, Feb 8 2017 5:20 AM | Permanent Link |
Walter Matte Tactical Business Corporation | Install Fiddler and watch the Request and Response... this may be helpful to debug. http://www.telerik.com/fiddler Walter |
Wed, Feb 8 2017 7:28 AM | Permanent Link |
Matthew Jones | I was going to suggest using something like POSTman or Paw (Mac!) - any tool that allows you to set up a request and see the response. Heck, for a GET Chrome might do. Fiddler only works with some protocols, not all, and can be complicated to use.
But yes, the core is to see what is actually coming back from the call. You can then tell if the problem is in the code, or in the response. Having has a quick look at the use of 'application/vnd.star.line' I wonder if it could be being affected by string processing, if escapes are used. Again, a tool as above will help answer that. -- Matthew Jones |
Wed, Feb 8 2017 2:35 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Kim,
<< I'm trying to send a response to a HTTP GET but for some reason it does not work. I know I'm talking to the printer because it sends a POST asking if there is any print jobs, I response with a True or False, if it receives a True it will send a GET requesting the print data. I send the data but nothing prints. If I send the same data to the printer using USB or Ethernet connecting it prints. >> Do you know for a fact that your web server module code is getting called, up to and including the SendCustomContent call ? You can verify this by running your EWB Web Server Module in the IDE with the host application set to the EWB Web Server (ewbsrvr.exe). I can do a remote desktop session with you to work through this with you. It's an interesting example, and won't take long to diagnose. If you want to do this, just send me an email (timyoung@elevatesoft.com). Tim Young Elevate Software www.elevatesoft.com |
Thu, Feb 9 2017 3:46 PM | Permanent Link |
KimHJ Comca Systems, Inc | Matthew Jones wrote:
>>I was going to suggest using something like POSTman. I would not know how to setup the URL in the printer to send it to Postman and I don't know if Postman is listing for incoming request and what port. Kim Tim Young [Elevate Software] wrote: >>Do you know for a fact that your web server module code is getting called, up to and including the SendCustomContent call ? You can verify this by running your EWB Web Server Module in the IDE with the host application set to the EWB Web Server (ewbsrvr.exe). That is exactly how I'm doing it. I have it set to Internal Web Server. The module receives the Post, the module response with True then the printer sends a get, up to here everything is fine. I will send you an email, thanks. |
Thu, Feb 9 2017 9:14 PM | Permanent Link |
KimHJ Comca Systems, Inc | I got it to work:
Instead of sending this response: Request.SendCustomContent(UTF8Encode(TempParam), 'application/vnd.star.line; charset=utf-8',''); I send this. Request.SendCustomContent(TempParam, 'application/vnd.star.line',''); For some reason it did not like the UTF8. Thanks, Kim |
Fri, Feb 10 2017 4:41 AM | Permanent Link |
Matthew Jones | KimHJ wrote:
> For some reason it did not like the UTF8. You'd have to look at what the SendCustomContent does with the parameter, but I have found that if you double-encode data it can cause problems. So perhaps it already does the encode, so the repeat was breaking it. Glad that you got it working. -- Matthew Jones |
Tue, Feb 14 2017 3:29 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Matthew,
<< You'd have to look at what the SendCustomContent does with the parameter, but I have found that if you double-encode data it can cause problems. So perhaps it already does the encode, so the repeat was breaking it. Glad that you got it working. >> Yes, I need to add some extra information to the manual on these methods to make it more clear what happens with the content with the various versions of the calls. For now, though, here are the rules: 1) If you're using the Unicode string version of SendCustomContent, then you *need* specify that the content's character set is UTF-8 because that is what EWB will use when converting the Unicode string to bytes when sending the data out to the browser. I'm going to see if I can make this a little more automatic than that, but it may not be possible. 2) If you're using the ANSI string version of SendCustomContent, then you only need to specify whatever character set the ANSI string (bytes) was encoded in. Tim Young Elevate Software www.elevatesoft.com |
Tue, Feb 14 2017 3:31 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Kim,
<< I got it to work: Instead of sending this response: Request.SendCustomContent(UTF8Encode(TempParam), 'application/vnd.star.line; charset=utf-8',''); I send this. Request.SendCustomContent(TempParam, 'application/vnd.star.line',''); For some reason it did not like the UTF8. >> My apologies for not picking up on this - yes, which version of the SendCustomContent call that you use (Unicode/ANSI) will affect how the string is sent out. Please see my response to Matthew on how this is handled by the EWB module code. Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Wednesday, June 12, 2024 at 01:54 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |