2008-12-15 12 views
7

मेरे पास एक डब्ल्यूसीएफ सेवा है जिसे विंडोज सेवा पर होस्ट किया गया है और विंडोज मोबाइल उपकरणों की सेवा के लिए बेसिकहटप एंडपॉइंट का उपयोग करता है जो उससे जुड़ा हुआ है।डब्ल्यूसीएफ अनुरोध HTTP स्थिति 405 के साथ विफल रहा: विधि स्वीकृत नहीं

समस्या यह है कि डिवाइस एमुलेटर के साथ। मैं सेवा से कनेक्ट कर सकता हूं और किसी भी समस्या के बिना इसका उपयोग कर सकता हूं, लेकिन वास्तविक डिवाइस के साथ। मुझे त्रुटि मिलती है:

WCF The request failed with HTTP status 405: Method Not Allowed.

मैंने सेवा को लागू करने के लिए निम्नलिखित कोड का उपयोग किया है।

BasicHttpBinding basicHttpBinding = new BasicHttpBinding(); 
basicHttpBinding.UseDefaultWebProxy = false; 

m_ServiceHost.AddServiceEndpoint(typeof(IKooft), basicHttpBinding, "KooftService"); 
m_ServiceHost.Open(); 

मैं इस समस्या को कैसे हल कर सकता हूं?

उत्तर

4

अपने आईआईएस एक्सटेंशन की जांच करें, विशेष रूप से .wsdl के लिए उन मान्य हैं:

आईआईएस में: आपकी साइट के लिए गुण पर

  • देखो।
  • होम निर्देशिका टैब में, कॉन्फ़िगरेशन पर क्लिक करें।
  • जोड़ें पर क्लिक करें (मेरे पथ है "C: \ प्रोग्राम फ़ाइलें (x86) \ आम Files \ MSSOAP \ binaries \ SOAPIS30.DLL")
  • एक्सटेंशन सेट .WSDL और "जाओ" और "अनुमति देने के लिए पोस्ट "
  • का चयन करें" स्क्रिप्ट इंजन "और" उस फ़ाइल को सत्यापित करें मौजूद है "

कि यह होना चाहिए।

+1

जैसा कि मैंने उल्लेख किया है, यह विंडोज सेवा अनुप्रयोग पर आईआईएस नहीं है। – mrtaikandi

+1

SOAPIS30.DLL मेरे विकास बॉक्स पर गुम है और मुझे एक समान समस्या का सामना करना पड़ रहा है। क्या आपको कोई विचार है कि मैं उस डीएलएल को कहां से प्राप्त कर सकता हूं? एसडीके इसका हिस्सा क्या है? – Danielb

+2

मेरे अपने प्रश्न का उत्तर देने के लिए कि डीएलएल बहिष्कृत माइक्रोसॉफ्ट एसओएपी टूलकिट से आता है। – Danielb

0

डब्ल्यूसीएफ का उपयोग करते समय आपको आईएसआई में .svc फ़ाइल प्रकार को aspnet_isapi.dll पर मैप करने की आवश्यकता हो सकती है।

1

आप एक WCF बाकी सेवा का उपयोग कर रहे हैं, तो आप इस तरह अपने अनुबंध विधि परिभाषित करना चाहिए:

[OperationContract] 
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)] 
string CheckService(); 

विशेष रूप से ध्यान दें कि WebInvoke विशेषता और Method="POST"

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