Forum Discussion

cyraarshad89's avatar
11 years ago

Access is denied due to invalid credentials

Hi,

I have been using testcomplete to automate the APIs in my application.

The authentication method used in the application is windows authentication . The GET APIs have been automated successfully but once i started automating POST and PUT calls, i am getting unauthorized access errors. Everytime the XmlHttpRequest.send is executed, the following reponse I get



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>

<style type="text/css">

<!--

body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}

fieldset{padding:0 15px 10px 15px;}

h1{font-size:2.4em;margin:0;color:#FFF;}

h2{font-size:1.7em;margin:0;color:#CC0000;}

h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}

#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;

background-color:#555555;}

#content{margin:0 0 0 2%;position:relative;}

.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}

-->

</style>

</head>

<body>

<div id="header"><h1>Server Error</h1></div>

<div id="content">

 <div class="content-container"><fieldset>

  <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>

  <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>

 </fieldset></div>

</div>

</body>

</html>

I am quite a newbie in API automation so can anybody help me to figure out the problem in the PUT method that i have attached.



Here is the method

 var URL,data;

 var ResponseStatusCode=null;



    

 function Add_RemoveFlags()

 {  

      URL = "http://10.0.0.0.1002/api/Accounts/16611/EnrolledPrograms/UpdateEnrolledProgram"      

      data = '{"IsActive":true, "EnrollmentProgramId": "16"}';

      

   

     PUT_Call(URL,data);   



}



function PUT_Call(requestURL, requestBody)

{

    var response;

    var XmlHttpRequest = Sys["OleObject"]("MSXML2.ServerXMLHTTP.3.0");



    XmlHttpRequest.open("PUT", requestURL, false);

    XmlHttpRequest.setRequestHeader("Content-Type", "application/JSON");

    XmlHttpRequest.setRequestHeader("X-FPSSO", Project.Variables.Token)

                                   

    

    try

    {

      

      XmlHttpRequest.send(requestBody);

      response = XmlHttpRequest.responseText;     

      

    }

    catch (e)

    {

      //Log.Error("Error");

    }

    return response;

}



Any help will be useful.

P.S. I have tried using ntlm authentication already but same problem persists



Thanks,



Saira.

1 Reply