मुझे नहीं पता। मैं एक ऐप पर एक आरईएसटी सेवा से एक्सएमएल प्राप्त करने की कोशिश कर रहा हूं जिसे मैं विंडोज फोन के लिए बना रहा हूं।HttpWebRequest का उपयोग करने का प्रयास करते समय मुझे ProtocolViolationException क्यों मिल रहा है?
HttpWebResponse response = request.EndGetResponse(ar) as HttpWebResponse;
मैं निम्नलिखित सेटअप है (गलत URL की अनदेखी, यह सिर्फ एक उदाहरण है ..) है
HttpWebRequest request = WebRequest.Create("https://domain.chargify.com/customers.xml") as HttpWebRequest;
NetworkCredential credentials = new NetworkCredential("appkeyhere", "password");
request.Credentials = credentials;
request.Method = "GET";
request.ContentType = "text/xml";
request.BeginGetResponse(new AsyncCallback(SomeCallback), request);
...
private void SomeCallback(IAsyncResult ar) {
HttpWebRequest request = ar.AsyncState as HttpWebRequest;
HttpWebResponse response = request.EndGetResponse(ar) as HttpWebResponse;
StreamReader reader = new StreamReader(response.GetResponseStream());
XElement xmlResult = XElement.Parse(reader.ReadToEnd());
...
}
अपवाद इस प्रकार है::
मैं हमेशा निम्न पंक्ति में एक अपवाद मिलSystem.Net.ProtocolViolationException was unhandled
Message=ProtocolViolationException
StackTrace:
at System.Net.Browser.ClientHttpWebRequest.PrepareAndSendRequest(String method, Uri requestUri, Stream requestBodyStream, WebHeaderCollection headerCollection, CookieContainer cookieContainer)
at System.Net.Browser.ClientHttpWebRequest.BeginGetResponseImplementation()
at System.Net.Browser.ClientHttpWebRequest.InternalBeginGetResponse(AsyncCallback callback, Object state)
at System.Net.Browser.AsyncHelper.BeginOnUI(BeginMethod beginMethod, AsyncCallback callback, Object state)
at System.Net.Browser.ClientHttpWebRequest.BeginGetResponse(AsyncCallback callback, Object state)
at ChargifyWPA.MainPage.button1_Click(Object sender, RoutedEventArgs e)
at System.Windows.Controls.Primitives.ButtonBase.OnClick()
at System.Windows.Controls.Button.OnClick()
at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
किसी के पास कोई विचार है? यह https है, http नहीं .. क्या यह समस्या पैदा कर रहा है? धन्यवाद।
के लिए रिक्त स्ट्रिंग का उपयोग करें पूर्ण अपवाद पोस्ट करें, और हमें दिखाएं कि अपवाद कहां होता है। साथ ही, कुछ कॉलबैक में, आपको ब्लॉक का उपयोग करने में अपने आईडीस्पोजेबल उदाहरण रखने की आवश्यकता है। HttpWebResponse, StreamReader और यहां तक कि स्ट्रीम को सभी को 'उपयोग' ब्लॉक में होना आवश्यक है, या आप संसाधनों को रिसाव करेंगे। –
मेरे प्रश्न के अपवाद को जोड़ा गया .. और मैंने "उपयोग" ब्लॉक का उपयोग करने के लिए संशोधित किया है, जो ठीक है। समस्या अभी भी होती है। – djbyter
यह सुनिश्चित नहीं है कि यह अनुरोध करने के लिए सही जगह है, लेकिन क्या आप इस पोस्ट में विंडोज-फोन -7 टैग जोड़ सकते हैं? – CACuzcatlan