2016-08-01 12 views
0

von Browser zu testen, habe ich einen WCF-SOAP-Dienst mit folgenden Methode:WCF SOAP-Service-Tests - wie direkt

[OperationContract] 

string GetDetails(string param1); 

Methode GetDetails JSON-String zurückzugibt. Ich habe die Methode getestet und es funktioniert wie erwartet. Wenn ich den Dienst mit WCF Test Client ausführe und einen Parameter übergebe, spuckt er eine Zeichenfolge im JSON-Format aus. Aber wenn ich rufe den Dienst von Browser:

http://ServerName/projectName/ServiceName.svc/GetDetails/12345

Ich erhalte einen Fehler Resource not found.

Kann mir jemand erklären, was mache ich falsch?

+0

Um WCF-Dienste zu testen (wenn es sich um SOAP handelt), können Sie ein Chrome-Plug-in namens Boomerang verwenden. Um die WSDL für Ihren Dienst zu erhalten, müssen Sie diese URL in einen neuen Dienst in Boomerang einfügen: http: //ServerName/projectName/ServiceName.svc? Wsdl. Es wird dann in der Lage sein, einen Client für alle Ihre [OperationContract] s – Mangist

+1

SOAP-Dienste sind nicht wie REST-Dienste, also im Allgemeinen würden Sie sie nicht im Browser testen, würden Sie sie mit WCFTestClient, SoapUI, a testen Kunde, den du schreibst usw. – Tim

Antwort

0

Durch Navigieren zu einer URL in einem Browser wird eine GET-Anforderung für diese Ressource ausgeführt. SOAP-Methoden verwenden alle POST.

Wenn Sie dies mit einem Programm wie Fiddler oder Postman testen würden, können Sie die verschiedenen Arten von HTTP-Methoden wie GET oder POST testen. Wenn Sie einen GET für Ihre URL in Fiddler ausführen würden, würden Sie das gleiche Ergebnis wie im Browser erhalten. Wenn Sie einen POST ausführen, erhalten Sie dasselbe Ergebnis wie beim WCF Test-Client.