2016-03-01 4 views
7

Einleitung:(405) Methode nicht zulässig. WebService WCF

Hallo, Ich versuche, einen WCF-Webdienst auf meinem lokalen IIS 7.5-Server einzurichten, aber nachdem ich die Grundkonfigurationen beende ich nicht imstande bin, Daten mit einem WinForms-Test-Client zu senden und es gibt der Fehler in den Titeln erwähnt. Ich habe bereits nach ähnlichen Themen zu diesem Problem gesucht, aber ich habe nichts gefunden, was zu meinem Problem passen würde.

Daten:

-Beide die WCF WebService und der Test-Client, wo von einer dritten Partei zur Verfügung gestellt

-Sie bereits auf einem anderen Server arbeitet, und ich bin mit der gleichen Version

-I Uhr tut wohl etwas falsch, wenn ich aktivieren oder konfigurieren Sie IIS

Anfrage:

-I müssen wissen, welche Funktionen IIS ich ne ed, um es zu aktivieren/deaktivieren, um es richtig zu installieren, damit ich den Wcf WebService verwenden kann. (Wenn das der Fall ist).

-Wie korrekt den Server konfigurieren, um den oben genannten Fehler zu lösen.

Meine Einstellungen:

-Nach Installieren von IIS ich die DefaulAppPool zu .NET Framework v4.0.30.319 geändert; Pipeline-Modus: Integriert. - Erweiterte Einstellungen: Benutzerprofil laden = False.

- Eine neue Website namens "WcfMicrocontrollerService" mit DefaultAppPool.Binding erstellt; Typ: http, IP-Adresse:, Port: 80

An dieser Stelle kann ich es über einen Webbrowser zugreifen, aber wenn ich den Test-Client verwenden, um Daten an den Dienst zu senden, erhalte ich den folgenden Fehler: "Die Fernbedienung Server hat eine unerwartete Antwort zurückgegeben: (405) Methode nicht zulässig. "

Hier sind die Datenpakete als aufgezeichnet von Fiddler gesendet: Sent:

POST http://192.168.0.102/MicroControllerComSvc.svc HTTP/1.1 
Content-Type: text/xml; charset=utf-8 
SOAPAction: "http://tempuri.org/IMicroControllerComSvc/GetMicrocontrollerData" 
Host: 192.168.0.102 
Content-Length: 237 
Expect: 100-continue 
Accept-Encoding: gzip, deflate 
Connection: Keep-Alive 

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><GetMicrocontrollerData xmlns="http://tempuri.org/"><microControllerData>1,1,1,1,2,2,1,0,100,300</microControllerData></GetMicrocontrollerData></s:Body></s:Envelope> 

empfangen:

HTTP/1.1 405 Method Not Allowed 
Cache-Control: private 
Allow: GET, HEAD, OPTIONS, TRACE 
Content-Type: text/html; charset=utf-8 
Server: Microsoft-IIS/7.5 
X-Powered-By: ASP.NET 
Date: Tue, 01 Mar 2016 10:44:44 GMT 
Content-Length: 5671 

Und hier ist der Körper: https://dl.dropboxusercontent.com/u/2237590/405.html

Dies scheint zu zeigen, Ich sollte einen Blick auf Handler-Mappings werfen, aber ich habe keine Ahnung, was ich dort bearbeiten soll.

Antwort

17

Ok, so nach einer sehr kurzen Suche über Ihr Problem fand ich die folgende Frage WCF on IIS8; *.svc handler mapping doesn't work

die Tatsache ignorieren, dass die Frage über IIS 8, Windows oder Windows Server ausgeführt wird?

Wenn Sie Windows verwenden gehen ...

  • Systemsteuerung -> Programme -> Programme und Funktionen> Windows-Funktionen ein- oder ausschalten. Unter dem ".Net Framework 3.5 (Invludes .NET 2.0 und 3.Stellen Sie sicher, dass "Windows Communication Foundation-HTTP-Aktivierung" aktiviert ist.
  • Überprüfen Sie auch unter ".NET Framerwork 4.x Advanced Services" und unter "WCF-Dienste" überprüfen, dass HTTP-Aktivierung aktiviert ist auch dort.

Dies ist ein Bild von dieser Frage der .net 4.5 Änderung zeigt zu machen. Features to turn on

Wenn Sie Windows Server versuchen, auf die Frage nach der ersten Antwort verwenden in Bezug auf, wie man Richten Sie die Rolle mit dem Server-Manager ein

+0

Ich habe es geschafft, den Web-Service auf einem anderen Computer zu installieren, auf dem Windows 10 (IIS 10) installiert war, und ggf. Ihre Anweisungen. Unter Windows 7 SP1 habe ich nur die Option .Net Framework 3.5 und bekomme den Fehler 500.21, nachdem ich die HTTP-Aktivierung aktiviert habe, aber ich bin nicht mehr blockiert und sollte in der Lage sein, das Problem selbst zu lösen. Ich habe an der falschen Stelle gesucht und hätte das nie herausgefunden. Ich danke dir sehr! –

+0

Ich bin froh, dass dies geholfen – simlawstu

+0

Das hat wirklich geholfen - funktionierte gut unter Server 2016 Vorschau 5 - Ich denke, dass fast jede Funktion standardmäßig installiert. Nach einer sauberen Installation von Server 2016 Standard hat mich dieses Bit verrückt gemacht und wir alle wissen, wie anstrengend das ist, wenn man nach einem Zeitplan arbeitet :-) – gchq

Verwandte Themen