2015-08-13 4 views
5

मेरे पास कोड का एक टुकड़ा है जिसमें एक अच्छी पुरानी एएसएमएक्स वेब सेवा के लिए 2 अनुक्रमिक कॉल हैं।वेब सेवा वेबमाइंड पर कॉल करें HTTP/1.1 404 नहीं मिला

service.Url = "http://....."; 
service.A(1, 2, 3); 
service.B(4, 5, 6); 

A पर कॉल ठीक है। लेकिन B पर कॉल करें 404... not found... खोज में, दोनों विधियां दिखाई दे रही हैं और ठीक लगती हैं - मैं आईई में दोनों को देखता हूं, मेटाडाटा अच्छा दिखता है। मैंने B में ब्रेक पॉइंट रखा और यह निश्चित रूप से मार नहीं रहा है। मैंने पुनर्निर्माण किया, Update Web Service प्रोजेक्ट लेने में संदर्भ और इसे पुनर्निर्मित किया।

स्थिति WebExceptionStatus.ProtocolError है।

वेब विधि

<WebMethod(Description:="Store a fragment of object on server.")> _ 
Public Function B(
    ByVal p1 As String, 
    ByVal p2 As String, 
    ByVal p3() As Byte, 
    ByVal p4 As Integer, 
    ByVal p5() As Byte) As Boolean 

कॉल में नाकाम रहने के हस्ताक्षर (सत्यापित) है

bool result = service.B(string, string, byteArray1, int, byteArray2); 

फिर, WebMethod बी पूरा नहीं हुआ है। वेब संदर्भ प्रॉक्सी और सब - अच्छा लग रहा है। यह क्या हो सकता है?

+0

हमें कुछ कोड दिखाएं – Karthik

+0

आपके पास शायद आपकी सेवा के लिए गलत यूआरएल है, यूआरएल पसंद सेवा को सही करने के लिए सेवा के यूआरएल को सेट करने का प्रयास करें। यूआरएल = "http: // /directory/service1.asmx"; – Adil

+0

@ एडील यह वास्तव में किया गया है। Ulr को 'ए' और' बी' –

उत्तर

5

मैंने इसे हल किया। यह भ्रमित था क्योंकि मुझे HTTP/1.1 404 Not Found और WebExceptionStatus.ProtocolError मिल रहा था।

एक बार मैं झुका हुआ Fiddler2, मैं इसे में खुदाई कर रहा था और WebView, जिसमें यह स्पष्ट रूप से कहते हैं पाया:

• अनुरोध को छानने वेब सर्वर पर कॉन्फ़िगर किया गया है अनुरोध क्योंकि अस्वीकार करने के लिए सामग्री की लंबाई कॉन्फ़िगर किए गए मान से अधिक है।

समस्या को हल करने के लिए मैंने 50 एमबी अनुरोधों को अनुमति देने के लिए आईआईएस में कॉन्फ़िगरेशन बदल दिया है।

Edit request propertues

और तुम भी web.config में निम्नलिखित सेटिंग करना चाहते हैं

<httpRuntime maxRequestLength="1000000" executionTimeout="3000"/> 

अधिकतम सेटिंग 2097151 KB

404 भ्रमित किया गया है। यह वेब सेवा के साथ समस्या की तरह लग रहा था जबकि वास्तव में यह अनुरोध का आकार था। और जब मैंने कहा कि यह पहले काम करता है, तो यह इसलिए है क्योंकि इससे पहले कि मैं इस तरह के बड़े सामानों को नहीं बचाऊंगा।

+0

यह जानने के लिए बेहद भयानक है कि अनुरोध का आकार HTTP 404 त्रुटि उत्पन्न कर रहा था। बस एक दुःस्वप्न अनुभव। मैं वेब विधि तर्क में बाइट सरणी के रूप में एक फ़ाइल अपलोड कर रहा था जो आईआईएस में कॉन्फ़िगर किए गए आकार से अधिक था। हमारी मदद करने के लिए धन्यवाद। – RBT

+0

@ आरबीटी चीजों को अस्पष्ट करने का सिर्फ माइक्रोसॉफ्ट का तरीका हो सकता है। यदि आप एक वास्तविक ग्राहक हैं, तो आप जान सकते हैं कि आप केवल विशिष्ट आकार तक फ़ाइल अपलोड कर सकते हैं। लेकिन अगर आप कुछ हैकर हैं और सिर्फ चीजों की जांच कर रहे हैं, तो आपको 404 मिलते हैं और "आह, यह नहीं कर सकता"। कौन जानता है? –

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