11
votes

Créer un client WCF par programme

J'ai un site web avec un service WCF compatible Silverlight. Le service fonctionne bien et je peux accéder à la page WSDL dans le navigateur sans aucun problème.

Maintenant, j'essaie de créer un client dans une DLL. Je dois créer le client entier par programme, car il est appelé dans une DLL, qui pour une raison quelconque (par conception?) Ne lira pas la section ServiceModel à partir de son propre fichier de configuration. p>

Voici mon code: p> xxx pré>

mais lorsque j'appelle la méthode SVC.CHECKIT, je reçois l'erreur suivante: p>

Content Type application/soap+xml; charset=utf-8 was not supported by service http://www.mydomain.com/licensing/lic.svc. 
The client and service bindings may be mismatched.
{"The remote server returned an error: (415) Cannot process the message because the content type 'application/soap+xml; charset=utf-8' was not the expected type 'application/soap+msbin1'.."}


1 commentaires

Sivlerlight ne prend pas en charge WShttpLinding. msdn.microsoft.com/en-us/library/cc896571 (Vs.95) .aspx


3 Réponses :


11
votes

ah --- l'a trouvé. La section STERVICEMODEL du site Web web.config a été définie sur CustomBinding . Changé cela, donc il correspond à ce que le client envoiait, et maintenant ça marche magnifiquement.


1 commentaires

Assurez-vous également que votre Contrat correspond à l'extrémité du serveur afin que le code correctionnel est utilisé.



3
votes

J'ai couru dans ce même problème. Plus Spéfineusement, mon correctif était de mettre à jour le type de liaison que j'utilisais. J'utilisais wshttpbindingings au lieu de Basichttpbindings . C'était causant des échecs comme wshttpbindings utilise du savon 1.2 tandis que Basichttpbindings Utilisez SOAP 1.1 et le service que j'utilisais requis Savon requis 1.1


0 commentaires

0
votes

J'ai eu la même erreur. Le service était la compilation, une application client aussi. La référence de service dans l'application client mettait la mise à jour avec succès de la référence. J'ai essayé de supprimer et d'ajouter une référence à nouveau et il n'était pas utile. Le problème était en interface supprimée dans le service Web.


0 commentaires