2011-12-27 10 views
5

एएसपीएक्स पेज से सर्वर में होस्ट किए गए एक webservice को कॉल करते समय त्रुटि "रिक्त प्रतिक्रिया के साथ विफल विफल" हो रही है। मेरे पृष्ठ"वेब सेवा को कॉल करते समय अनुरोध एक खाली प्रतिक्रिया के साथ विफल रहा"

try { 
    HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create("https://login.erp.com/rodeprovisioning/provisioning.asmx"); 
    request1.Accept = "text/xml"; 
    request1.Method = "POST"; 
    WebProxy proxyObject = new System.Net.WebProxy("http://10.0.0.1:8080/", true); 
    request1.Proxy.Credentials = CredentialCache.DefaultCredentials; 
    string sReturnValue = null; 
    if (string.IsNullOrEmpty(Session["Test"])) { 
     sReturnValue = callservice(); 
     if (sReturnValue == "Success") { 
      ErrorLabel.Text = sReturnValue; 
      Session["Test"] = "True"; 
     } else { 
      ErrorLabel.Text = sReturnValue; 
     } 
    } 

} catch (Exception ex) { 

} 

और web.config में

<system.net> 
    <authenticationModules> 
     <add type = "System.Net.DigestClient" /> 
     <add type = "System.Net.NegotiateClient" /> 
     <add type = "System.Net.KerberosClient" /> 
     <add type = "System.Net.NtlmClient" /> 
     <add type = "System.Net.BasicClient" /> 
    </authenticationModules> 
    <connectionManagement> 
     <add address = "*" maxconnection = "2" /> 
    </connectionManagement> 
    <defaultProxy> 
     <proxy usesystemdefault="True" bypassonlocal = "True" /> 
    </defaultProxy> 
    <webRequestModules> 
     <add prefix = "http" type = "System.Net.HttpRequestCreator"  /> 
     <add prefix = "https" type = "System.Net.HttpRequestCreator"  /> 
     <add prefix = "file" type = "System.Net.FileWebRequestCreator"   /> 
    </webRequestModules> 
    </system.net> 

उसे एक फ़ायरवॉल problem.Any सुझाव है में

कोड?

+1

क्या आपने HTTP स्तर पर क्या हो रहा है यह जानने के लिए वायरशर्क का उपयोग करने का प्रयास किया है? –

+0

कोई जोन मैं नहीं हूं ... – bala3569

+4

तो मेरा सुझाव है कि आपका अगला कदम होना चाहिए। क्लाइंट को डीबग करने का प्रयास करने में कोई बात नहीं है यदि यह सर्वर-साइड इश्यू है या इसके विपरीत। –

उत्तर

15

मैं जानता हूँ कि यह एक पुराने सवाल है, लेकिन हम एक ही अपवाद हमारे एकीकरण वातावरण में से एक में हो रहा था:

System.Net.WebException: The request failed with an empty response 

मुद्दा था कि जब हम सर्वर हार्डवेयर के लिए उन्नत, हम भी सभी के बंद हमारे HTTPS का उपयोग करने के लिए endpoints। कोड जो एंडपॉइंट्स को कॉल कर रहा था उसे अपग्रेड नहीं किया गया था, इसलिए यह अभी भी नियमित HTTP का उपयोग कर रहा था। स्पष्ट रूप से यह अपवाद है जब आप एचटीटीपीएस सेवा को HTTP के रूप में कॉल करने का प्रयास करते हैं। उम्मीद है कि यह किसी को लाइन के नीचे मदद करता है।

+0

इससे 2 साल बाद मुझे मदद मिली! धन्यवाद! – UrsulRosu

-2

क्लाइंट app.config या web.config में पहले वेब सेवा यूआरएल की जांच करें, यदि आपके वेब सेवा यूआरएल में सिक्योर सॉकेट लेयर सर्टिफिकेट है, तो उसी सिक्योर सॉकेट लेयर को एप.कॉन्फिग या वेब.कॉन्फिग में यूआरएल सक्षम करें। इस "https://crm.XXXX.com/webServiceName.asmx"

System.Net.WebException तरह: अनुरोध एक खाली प्रतिक्रिया

4

मैं क्या Andacious कहा में जोड़ने के लिए चाहते हैं के साथ विफल रहा है। मैं एक वेब-सेवा पर कॉल कर रहा था जो https था लेकिन जब मैंने ऑब्जेक्ट के गुणों को देखा तो यह वास्तव में http का उपयोग कर रहा था। इसलिए मैं विशेष रूप से यूआरएल संपत्ति सेट करता हूं।

मेरे पास इंटरचेंज नामक एक वर्ग है जो सोपहट्प क्लाइंटप्रोटोकॉल से प्राप्त होती है।

interchangeWS = new InterchangeWS(); 
interchangeWS.Url = "https://somesite/interchange.asmx"; 

string x = interchangeWS.SomeMethod("someParameter"); 
संबंधित मुद्दे