私はWindows Phone 8アプリを開発しています。私のアプリでは、サービスを呼び出して、いくつかのデータをアプリにダウンロードしています。
Windows Phone 8エミュレーターでアプリをテストしていますが、何度もこのエラーがスローされます:
「リモートサーバーがエラーを返しました: NotFound.」
これは、私が httpwebrequest を作成して使用した方法です:-
public async Task<string> ServiceRequest(string serviceurl, string request, string methodname)
{
string response = "";
try
{
var httpwebrequest = WebRequest.Create(new Uri(serviceurl)) as HttpWebRequest;
httpwebrequest.Method = "POST";
httpwebrequest.Headers["SOAPAction"] = "http://tempuri.org/" + iTestservice + "/" + methodname + "";
httpwebrequest.ContentType = "text/xml";
byte[] data = Encoding.UTF8.GetBytes(request);
using (var requestStream = await Task<Stream>.Factory.FromAsync(httpwebrequest.BeginGetRequestStream, httpwebrequest.EndGetRequestStream, null))
{
await requestStream.WriteAsync(data, 0, data.Length);
}
var httpTask = httpRequest(httpwebrequest);
var completeTask = await Task.WhenAny(httpTask, TaskEx.Delay(300000));
if (completeTask == httpTask)
return await httpTask;
else
httpwebrequest.Abort();
throw new TimeoutException("Service Timed Out");
}
catch (TimeoutException Tex)
{
throw Tex;
}
catch (Exception ex)
{
throw ex;
}
}
public async Task<string> httpRequest(HttpWebRequest request)
{
string received;
using (var response = (HttpWebResponse)(await Task<WebResponse>.Factory.FromAsync(request.BeginGetResponse, request.EndGetResponse, null)))
{
using (var responseStream = response.GetResponseStream())
{
using (var sr = new StreamReader(responseStream))
{
received = await sr.ReadToEndAsync();
}
}
}
return received;
}
私は本当に何が問題だったのか理解できません
ご注意ください :-
エミュレーターブラウザーでサイト (アプリがアクセスしようとしているサービス URL) を開こうとしましたが、正しく開きました。問題はありませんでした。
1)それは私のコードの問題ですか?もしそうなら、私を修正してください??
2)これはエミュレーターの問題ですか、それとも接続の問題ですか??
3)これは、エミュレーターで開かれている認定の問題ですか??
問題を修正する方法について長い間調査した後でも、修正できませんでした。
私を助けてください。
前もって感謝します。