My Windows Phone app Get empty response (404 Not Found) Scond time, work's great first time;And always work fine if without SSL

json, json-rpc, windows-phone-8

Solution

Please try to use this solution.

        public async Task<string> SendJSONData3(string urlToCall, string JSONData)
    {
        string UserName = "XXXXXXXXX";
        string Password = "XXXXXXXXX";
        var httpWebRequest = (HttpWebRequest)WebRequest.Create(urlToCall);
        httpWebRequest.Credentials = new NetworkCredential(UserName, Password);
        httpWebRequest.ContentType = "text/json";
        httpWebRequest.Method = "POST";
        using (var streamWriter = new StreamWriter(await httpWebRequest.GetRequestStreamAsync()))
        {
            string json = JSONData;
            streamWriter.Write(json);
            streamWriter.Flush();
        }
        var httpResponse = (HttpWebResponse)await httpWebRequest.GetResponseAsync();
        using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
        {
            var result = streamReader.ReadToEnd();
            return result;
        }

    }

Problem

I am building my first windowsPhone 8.1 application ,the role of my application is to create connection with server to get information from it, so I am writing the code to do this process by sending json-rpc request to server to get some information ,I am successful to get it in first time but when I send the second request I am receiving an empty response with 404 error (page not found). But when I call the service without https (http only) it works fine regardless how many time I call it ! ``` public async Task<string> GetDataFromServer(string urlToCall, string JSONData,string RR) { string UserName = “XXXXXXX” string Password = "XXX"; using ( var handler = new HttpClientHandler()) { handler.Credentials = new NetworkCredential(UserName, Password); HttpClient client = new HttpClient(handler); HttpResponseMessage response = null; try { response = await client.PostAsync(urlToCall, new StringContent(JSONData.ToString(), Encoding.UTF8, " application/json")); string res = response.Content.ReadAsStringAsync().Result; Windows.UI.Popups.MessageDialog g = new Windows.UI.Popups.MessageDialog(res); await g.ShowAsync(); return res; } catch (Exception ex) { Windows.UI.Popups.MessageDialog g = new Windows.UI.Popups.MessageDialog("Error is : " + ex.Message); g.ShowAsync(); return "Error"; } finally { response.Dispose(); client.CancelPendingRequests(); client.Dispose(); handler.Dispose(); } } } ``` Again, when call the URL of service (start with https) on first time I got response with seeked data, but second time I receive an empty response with 404 error (page not found) !! Any help please

Original source

Related problems