2011-01-21 5 views
1

Je ne parviens pas à tester un service de données WCF à l'aide du client de test Wcf fourni dans VS2010. Un service régulier fonctionne très bien mais pour un service de données je reçois cette erreur lorsque vous essayez d'appeler l'URL dans le client de test:Test du service de données WCF à l'aide du client de test WCF

Error: Cannot obtain Metadata from http://localhost:31745/MyWcfDataService.svc If this is a Windows (R) Communication Foundation service to which you have access, please check that you have enabled metadata publishing at the specified address. For help enabling metadata publishing, please refer to the MSDN documentation at http://go.microsoft.com/fwlink/?LinkId=65455.WS-Metadata Exchange Error URI: http://localhost:31745/MyWcfDataService.svc Metadata contains a reference that cannot be resolved: 'http://localhost:31745/MyWcfDataService.svc'. The remote server returned an unexpected response: (405) Method Not Allowed. The remote server returned an error: (405) Method Not Allowed.HTTP GET Error URI: http://localhost:31745/MyWcfDataService.svc The document at the url http://localhost:31745/MyWcfDataService.svc/ was not recognized as a known document type.The error message from each known type may help you fix the problem:- Report from 'XML Schema' is 'The root element of a W3C XML Schema should be and its namespace should be 'http://www.w3.org/2001/XMLSchema'.'.- Report from 'DISCO Document' is 'Discovery document at the URL http://localhost:31745/MyWcfDataService.svc/ could not be found.'. - The document format is not recognized.- Report from 'WSDL Document' is 'There is an error in XML document (2, 2).'. - was not expected.

Le service de données fonctionne bien et je suis capable de faire un Voir dans le navigateur pour le fichier svc en question et voir le wsdl.

Le client de test wcf était-il et non destiné à tester les services de données WCF? Si cela peut être utilisé, comment puis-je le faire? Ai-je besoin de faire des modifications?

Merci ..

Répondre

4

Le WcfTestClient ne fonctionne qu'avec liaisons SOAP, par exemple basicHttpBinding, wsHttpBinding, netTcpBinding.

Il ne prend pas en charge les services WCF basés sur REST.

Pour quoi faire? Vous pouvez tester vos services basés sur REST en utilisant votre navigateur préféré - aucun client de test spécial n'est nécessaire! Si vous devez effectuer des requêtes HTML comme un POST ou PUT, vous devriez vérifier Fiddler

+0

Alors que le violoneux peut injecter des entrées dans l'API, vous ne pouvez pas vraiment utiliser fiddler pour tester formellement ces interfaces. Il n'y a pas de moyen simple d'avoir une analyse réussite/échec à court de voir manuellement la réponse. – DeepSpace101

+0

Je ne suis pas sûr mais le violoneux peut obtenir la réponse de demande de poste? http://www.ehow.com/how_8788176_do-post-using-fiddler.html @Sid – zhfkt

+0

@zhfkt: oui - bien sûr - c'est ce que je disais dans ma réponse - non? –

1

Ma réponse est peut-être un peu tard, mais vous pouvez tester votre service de données WCF avec LINQPad (http://www.linqpad.net) qui soutient OData/WCF données Prestations de service.