myTest532 myTest532
myTest532 myTest532

Reputation: 2381

Odd ColdFusion cfscript syntax issue

I'm having a very odd syntax error in my cfscript.

stFields = {
    "EligibilityQuery": { 
        "Patient": {
            "FirstName": arguments.data.lname, 
            "MiddleName": "", 
            "LastName": arguments.data.fname, 
            "DateOfBirth": dateformat(arguments.data.dob,'yyyy-mm-dd'), 
            "Gender": arguments.data.gender,
            "SSN": arguments.data.SSN,
            "Address": {
                "FirstLine": "", 
                "SecondLine": "",
                "ZipCode": arguments.data.ZipCode
            } 
        },
        "NPI": "1111111" 
    }
};

// call API
var authorization = "Basic: " & ToBase64('username:password');
cfhttp(method="POST", url="https://mysite/api/myAPI/", result="apiResult"){
    cfhttpparam(name="Authorization", type="header", value="#authorization#");
    cfhttpparam(name="Content-Type", type="header", value="application/json");
    cfhttpparam(type="body", value="#serializeJSON(stFields)#");
}
apiResult = deserializeJSON(apiResult.fileContent);

It's returning error on cfhttp (A script statement must end with ";".)

Error - The CFML compiler was processing:

cfhttp(method="POST", url="https://mysite/api/myAPI/", result="apiResult")

Where am I missing the ";"?

Upvotes: 2

Views: 205

Answers (1)

Alex Baban
Alex Baban

Reputation: 11732

Expects a ; after cfhttp(method="POST", url="https://mysite/api/myAPI/", result="apiResult").

Are you on CF9 or CF10? Try this:

// call API
var authorization = "Basic: " & ToBase64('username:password');

httpService = new http(method = "POST", charset = "utf-8", url = "https://mysite/api/myAPI/");

httpService.addParam(name = "Authorization", type = "header", value = "#authorization#");
httpService.addParam(name = "Content-Type", type = "header", value = "application/json");
httpService.addParam(type = "body", value = "#serializeJSON(stFields)#");

apiResult = httpService.send().getPrefix();
apiResult = deserializeJSON(apiResult.fileContent);

Upvotes: 1

Related Questions