2011-01-30 12 views
6

पर नोटफॉउंड" मैं विंडोज फोन 7 एमुलेटर का उपयोग करके हडल एपीआई के खिलाफ प्रमाणित करने की कोशिश कर रहा हूं। हालांकि, मुझे कोई सफलता नहीं मिल रही है। मैं "रिमोट सर्वर ने एक त्रुटि लौटाई: नोटफॉउंड" प्राप्त कर रहा हूं। मैंने अपने कोड को "डंबिंग डाउन" करने की कोशिश की है और बस एक सीधी वेबसाइट की कोशिश की है, उदाहरण के लिए। Google लेकिन फिर भी वही परिणाम मिलता है।HttpWebRequest लौट रहा है "रिमोट सर्वर ने एक त्रुटि लौटाई: विंडोज फोन 7

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 
); 

निष्पादन हमेशा पकड़ खंड में समाप्त होता है:

मैं निम्नलिखित कोड है। हालांकि, फिडलर 2 को देखकर, ऐसा लगता है कि google.com पर कोई ट्रैफ़िक नहीं है। तो अनुरोध नहीं किया जा रहा है।

मैंने यहां एक ही समस्या देखी है Retrieve XML from https using WebClient/HttpWebRequest - WP7, लेकिन मैं एक मानक बंदरगाह का उपयोग कर रहा हूं, इसलिए यह सुनिश्चित नहीं है कि यह प्रासंगिक है। मैंने पोस्ट के अनुसार कोड को सरल बनाने का भी प्रयास किया है, लेकिन कोई सफलता नहीं है।

दिलचस्प है, सबसे अधिक संभावना विकल्प है क्योंकि मैं नेटवर्क क्षमताओं प्रति HttpWebRequest Breaks On WP7 के रूप में मेरे AppManifestWM.xaml फाइल में परिभाषित नहीं हो सकता है हो रहा है, लेकिन मेरे AppManifestWM.xaml फ़ाइल इस परिभाषित किया गया है करने के लिए प्रकट होता है:

<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> 

तो मैं एक नुकसान में हूँ। अनुरोध वास्तव में ऐसा प्रतीत नहीं होता है, मुझे लगता है कि कुछ इसे रोकने से रोक रहा है।

अद्यतन:

कुछ भी नहीं बदला है, लेकिन सोचा कि यह स्टैक ट्रेस HEKO सकता है:

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)

स्थिति है System.Net.WebExceptionStatus.UnknownError

अपने समय के लिए धन्यवाद ।

उत्तर

1

ठीक है, मैं इसका समाधान कर लिया ... लेकिन पता नहीं कैसे। मेरी मशीन को रीबूट नहीं किया गया है, मेरा कोड नहीं बदला है। एकमात्र संभावित स्पष्टीकरण है कि मेरा एमुलेटर कुछ बार दुर्घटनाग्रस्त हो गया। शायद वहां कुछ है।

   string url = "https://api.huddle.net/v1/xml/workspaces"; ; 

       HttpWebRequest client= WebRequest.CreateHttp(new Uri(url)) as HttpWebRequest; 

       client.Credentials = new NetworkCredential(ViewModel.UserAccount.UserName, ViewModel.UserAccount.Password); 
       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) 
           { 
            MessageBox.Show(failure.Message, "Cannot authenticate", MessageBoxButton.OK); 
#if DEBUG 
            throw failure; 
#endif 
           } 
          }); 
        }, 
         null 
       ); 
0

यह आपके नेटवर्क कनेक्टिविटी को हल करने का मामला हो सकता है।

क्या आप किसी ऐप के अंदर आईई और वेबब्रोसर नियंत्रण के माध्यम से वेब तक पहुंच सकते हैं?

आपके पास रास्ते में प्रॉक्सी हो सकती है। देखें कि यह डॉको उस संबंध में मदद करता है या नहीं।

Proxy Support for Windows Phone Emulator

+0

धन्यवाद, मिक। मैंने ओएस के भीतर आईई "एप्लेट" की कोशिश की है, जो काम करता है। एक ही पेज पर एक वेब ब्राउजर नियंत्रण भी जोड़ा है, जो ठीक काम करता है। जहां तक ​​मुझे पता है मैं प्रॉक्सी का उपयोग नहीं कर रहा हूं। –

2

क्या आप Fiddler चल रहा है:

अपने समय के लिए धन्यवाद, यह जो Huddle API के साथ अच्छी तरह से काम करता है कोड मैं उपयोग कर रहा हूँ, है? जब मैं फिडलर को अपने नेटवर्किंग स्टैक से जुड़ा हुआ हूं तो मुझे बार-बार यह त्रुटि मिलती है। फिडलर के साथ, कोई समस्या नहीं।

मुझे यह सुनने में दिलचस्पी होगी कि इसके पीछे क्यों है अगर कोई जानता है ...

चीयर्स

+0

दिलचस्प बिंदु। मुझे अब याद नहीं है। मैं निश्चित रूप से एक बिंदु पर होता, लेकिन विफलता के बिंदु पर, मैं नहीं कह सकता था। –

3

मैं मूल पोस्टर के रूप में ठीक उसी के लक्षणों के साथ कई घंटे काम किया। फिर मैंने ऊपर सुझाए गए फिडलर 2 को बंद कर दिया। और फिर यह काम करता है। और नहीं "रिमोट सर्वर लौटा और त्रुटि: NotFound।"

जादू! धन्यवाद, केलीब। अपरिवर्तित होना चाहिए लेकिन मेरे पास पर्याप्त क्रेडिट नहीं है।

2

फिडलर 2 को बंद करने से मेरा मुद्दा हल हो गया।

+0

धन्यवाद! कभी सोचा नहीं कि यह हो सकता है ... – Thomas

6

कभी Fiddler2 थे, लेकिन एक ही समस्या सटीक जब एक विंडोज फोन एप्लिकेशन को विकसित करने के लिए किया था।

मेरे लिए कारण काफी अलग था: WMAppManifest.xml सिर्फ ID_CAP_NETWORKING याद आ रही थी!

के बाद से मुझे मिल गया "नहीं मिला" अपवाद और नहीं एक "अपवाद समर्थित नहीं" मैं लगभग सब कुछ करने की कोशिश की जब तक मैं इस समस्या का असली कारण ... ;-)

मैं तो सभी अक्षरों को अक्षम करने पसंद करते पाया और केवल ऐप को वास्तव में सक्षम करने के लिए सक्षम करें क्योंकि उपयोगकर्ताओं को "सबकुछ" तक पहुंच की आवश्यकता होने पर समझ/स्वीकार नहीं किया जाएगा ;-)

संबंधित मुद्दे