Estoy intentando autenticarme contra la API de Huddle utilizando el emulador de Windows Phone 7. Sin embargo, no estoy teniendo éxito. Sigo recibiendo "El servidor remoto devolvió un error: NotFound". Incluso he intentado "embrutecer" mi código y simplemente intentar un sitio web directo, por ejemplo. Google pero aún obtiene el mismo resultado.HttpWebRequest que devuelve "El servidor remoto devolvió un error: NotFound" en Windows Phone 7
Tengo el siguiente código:
string url = "http://www.google.com";
HttpWebRequest client= WebRequest.CreateHttp(new Uri(url)) as HttpWebRequest;
client.AllowReadStreamBuffering = true;
// Call and handle the response.
client.BeginGetResponse(
(asResult) =>
{
Dispatcher.BeginInvoke(
() =>
{
try
{
var response = client.EndGetResponse(asResult);
System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
string responseString = reader.ReadToEnd();
}
catch (WebException failure)
{
throw failure;
}
});
},
null
);
La ejecución siempre termina en la sección de captura. Sin embargo, después de haber visto Fiddler2, parece que no hay ningún tráfico en google.com. Entonces la solicitud no parece estar siendo hecha.
He visto un problema similar aquí Retrieve XML from https using WebClient/HttpWebRequest - WP7, pero estoy usando un puerto estándar, así que no estoy seguro de que esto sea relevante. También intenté simplificar el código según la publicación, pero no tuve éxito.
Curiosamente, la opción más probable parece ser porque tal vez no tiene capacidades de red definidos en mi archivo AppManifestWM.xaml según HttpWebRequest Breaks On WP7, pero mi archivo AppManifestWM.xaml parece tener esta definido:
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0">
<App xmlns="" ProductID="{ac5b5d62-573c-4134-b290-0ad4f678ad7f}" Title="xxx.WindowsPhone7.Client" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="xxx.WindowsPhone7.Client author" Description="Sample description" Publisher="xxx.WindowsPhone7.Client publisher">
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_NETWORKING" />
<Capability Name="ID_CAP_LOCATION" />
<Capability Name="ID_CAP_SENSORS" />
<Capability Name="ID_CAP_MICROPHONE" />
<Capability Name="ID_CAP_MEDIALIB" />
<Capability Name="ID_CAP_GAMERSERVICES" />
<Capability Name="ID_CAP_PHONEDIALER" />
<Capability Name="ID_CAP_PUSH_NOTIFICATION" />
<Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
</Capabilities>
<Tasks>
<DefaultTask Name ="_default" NavigationPage="MainPage.xaml"/>
</Tasks>
<Tokens>
<PrimaryToken TokenID="xxx.WindowsPhone7.ClientToken" TaskName="_default">
<TemplateType5>
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Count>0</Count>
<Title>xxx.WindowsPhone7.Client</Title>
</TemplateType5>
</PrimaryToken>
</Tokens>
</App>
</Deployment>
Entonces estoy perdido. La solicitud en realidad no parece estar ocurriendo, lo que me lleva a pensar que algo lo está impidiendo.
Actualización:
nada cambió, pero pensaron que esto podría Heko seguimiento de la pila:
System.Net.WebException was unhandled Message=The remote server returned an error: NotFound. StackTrace: at System.Net.Browser.ClientHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult) at System.Net.Browser.ClientHttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at xxx.WindowsPhone7.Client.Views.AddHuddleUserPage.<>c__DisplayClass2.<>c__DisplayClass4.b__1() at System.Reflection.RuntimeMethodInfo.InternalInvoke(RuntimeMethodInfo rtmi, Object obj, BindingFlags invokeAttr, Binder binder, Object parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess, StackCrawlMark& stackMark) at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, StackCrawlMark& stackMark) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at System.Delegate.DynamicInvokeOne(Object[] args) at System.MulticastDelegate.DynamicInvokeImpl(Object[] args) at System.Delegate.DynamicInvoke(Object[] args) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.Dispatch(DispatcherPriority priority) at System.Windows.Threading.Dispatcher.OnInvoke(Object context) at System.Windows.Hosting.CallbackCookie.Invoke(Object[] args) at System.Windows.Hosting.DelegateWrapper.InternalInvoke(Object[] args) at System.Windows.RuntimeHost.ManagedHost.InvokeDelegate(IntPtr pHandle, Int32 nParamCount, ScriptParam[] pParams, ScriptParam& pResult)
El estado es System.Net.WebExceptionStatus.UnknownError
Gracias por su tiempo .
Gracias, Mick. He probado el "applet" de IE dentro del sistema operativo, que funciona. También se agregó un control WebBrowser a la misma página, que también funciona bien. No estoy usando un proxy por lo que sé. –