Print Page as PDF
HTTP Client ICR (5553)

HTTP Client    ICR (5553)

Name Value
NUMBER 5553
IA # 5553
DATE CREATED 2010/08/24
CUSTODIAL PACKAGE TOOLKIT
USAGE Supported
TYPE Routine
DBIC APPROVAL STATUS APPROVED
ROUTINE XTHC10
NAME HTTP Client
GENERAL DESCRIPTION
This is a HTTP/1.1 client that can request a web page
from another system and pass the returned data to the calling routine.

It can make both GET and POST requests.
STATUS Active
KEYWORDS
  • HTTP
  • HTML
DURATION Till Otherwise Agreed
ID XTHC10
COMPONENT/ENTRY POINT
COMPONENT/ENTRY POINT COMPONENT DESCRIPTION VARIABLES
['$$GETURL(url[,xt8flg],xt8rdat,.xt8rhdr[,xt8sdat][,.xt8shd', 'r])']
This is the main API. It returns in xt8rdat the
returned data from the web site.  See full doc's on the web.
http://vista.url/      kernel/apis/index.shtml
VARIABLES TYPE VARIABLES DESCRIPTION
url Input
(Required) This is the URL (http://host:port/path) to
access.  It could be as simple as "www.va.gov".
xt8flg Input
(Optional) Request timeout. Default is 5 seconds.
xt8rdat Output
(Required) Closed root of the variable where the
message body is returned. Data is stored in consecutive nodes (numbers
starting from 1). If a line is longer than 245 characters, only 245 characters
are stored in the corresponding node. After that, overflow sub-nodes are
created. For example:
@XT8RDAT@(1)="<html>"
@XT8RDAT@(2)="<head><title>VistA</title></head>"
@XT8RDAT@(3)="<body>"
@XT8RDAT@(4)="<p>"
@XT8RDAT@(5)="Beginning of a very long line"
@XT8RDAT@(5,1)="Continuation #1 of the long line"
@XT8RDAT@(5,2)="Continuation #2 of the long line"
@XT8RDAT@(5,...)=...
@XT8RDAT@(6)="</p>"
...
xt8rhdr Output
(Required) Reference to a local variable where the
parsed headers are returned. Header names are converted to upper case and the
values are left "as is". The root node contains the status line. For example:
XT8HDR="HTTP/1.1 200 OK"
XT8HDR("ACCEPT-RANGES")="bytes"
XT8HDR("CONNECTION")="close"
XT8HDR("CONTENT-LENGTH")="16402"
XT8HDR("CONTENT-TYPE")="text/html; charset=UTF-8"
XT8HDR("DATE")="Thu, 25 Jun 2015 14:43:01 GMT"
XT8HDR("ETAG")="a93a2-4012-5180156550680"
XT8HDR("LAST-MODIFIED")="Mon, 08 Jun 2015 13:08:26 GMT"
XT8HDR("SERVER")="Apache/2.2.15 (CentOS)"
xt8sdat Input
(Optional) Closed root of a variable containing the
body of the request message. Data should be formatted as in variable XT8RDAT
above. If this parameter is defined, not empty, and the referenced array
contains data then the POST request is generated. Otherwise, the GET request
is sent.
xt8shdr Input
(Optional) Reference to a local variable containing
header values, which will be added to the request. For example:
XT8SHDR("CONTENT-TYPE")="text/html"
returns Output

Success: HTTP_Status_Code^Description
Common HTTP status codes returned:
200  OK
301  Moved Permanently
400  Bad Request
401  Unauthorized
404  Not Found
407  Proxy Authentication Required
408  Request Time-out
500  Internal Server Error
505  HTTP Version not supported
Fail:   -1^Error Descriptor (additional error information may be found in
the VistA error trap or ^XTER in programmer mode)
DATE ACTIVATED 2015/06/26