how to fix "The remote server returned an error: (403) Forbidden"

This error has been asked several times across different forums and sites. I have tried nearly all the solutions but still unable to fix it. My code is as below.

public XmlDocument PlaceOrder(DeliveryModel model, BIUser theUser, Guid orderId, illunit theUnit, string speed)
    {
        string xmlToPost = ConstructXMLOrderRequest(model, theUser, orderId, theUnit, speed);
        string authParams = GenerateAuthenticationString(xmlToPost, theUnit.bl_acc);
        string rootUrl = configurationLogic.LibraryAPIUrl;
        Encoding enc = System.Text.Encoding.GetEncoding(1252);
        string requestString = rootUrl + "orders";

        HttpWebRequest apiCall = (HttpWebRequest)WebRequest.Create(requestString);

        apiCall.Headers.Add("BLDSS-API-Authentication", authParams);


        byte[] byteArray = ASCIIEncoding.UTF8.GetBytes(xmlToPost);
        apiCall.Accept = "*/*";
        apiCall.KeepAlive = false;
        apiCall.AllowAutoRedirect = false;
        apiCall.Method = "POST";
        apiCall.ContentType = "text/xml";
        apiCall.ContentLength = byteArray.Length;
        apiCall.UserAgent = "Code Sample Web Client";

        Stream dataStream = apiCall.GetRequestStream();
        dataStream.Write(byteArray, 0, byteArray.Length);
        dataStream.Close();

        HttpWebResponse webresponse;
        webresponse = (HttpWebResponse)apiCall.GetResponse();

        StreamReader loResponseStream = new StreamReader(webresponse.GetResponseStream(), enc);
        string response = loResponseStream.ReadToEnd();

        XmlDocument toReturn = new XmlDocument();
        toReturn.LoadXml(response);

        return toReturn;
    }

Open in new window


thanks
mmalik15Asked:
Who is Participating?
 
käµfm³d 👽Connect With a Mentor Commented:
Are you certain your URL and your authentication parameters are correct? How does authentication work with this target site?
0
 
Dave BaldwinConnect With a Mentor Fixer of ProblemsCommented:
This page says that 403 means it recognizes you but still isn't going to allow access.  http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error   That pretty much means that the server admin has to fix it to allow you access.

Does your code work with any other site?
0
 
mmalik15Author Commented:
Thanks for the comments. I guess you guys are right as there seems to be an issue at the server end authentication.
0
All Courses

From novice to tech pro — start learning today.