Je travaille sur un projet où je remplace un service web asmx par un service wcf. Cependant, pendant une période de transition, j'aimerais que les deux travaillent pour nos clients.Passage transparent du service Web asmx au service wcf
J'ai donc réussi à faire cela quelque peu, mais j'ai rencontré des problèmes lors de tests. Je reçois le message suivant:
Méthode d'essai IntegrationTests.StrictMatchTests.StrictProviderPass a lancé exception: System.Web.Services.Protocols.SoapHeaderException: Le message d'action « https://secure.mydomain.net/core/myMethod 'ne peut pas être traité sur le récepteur, en raison d'une incompatibilité ContractFilter sur EndpointDispatcher. Cela peut être dû soit à une non-concordance de contrat (Actions non concordantes entre l'expéditeur et le destinataire), soit à une non-concordance de liaison/sécurité entre l'expéditeur et le destinataire. Vérifiez que l'émetteur et le récepteur ont le même marché et les mêmes contraignants (y compris les exigences de sécurité, par exemple un message, Transport, None) ..
J'ai un fichier asmx exposé, et je peux le consommer en tant que service Web traditionnel . Cependant, ils ne semblent pas compatibles avec le service plus ancien. Si je consomme le nouveau service, cela fonctionne très bien. Mais je voudrais que cette transition initiale soit transparente pour l'utilisateur final, et qu'elle ait progressivement recours au service wcf au fil du temps.
Quelqu'un a déjà attaqué quelque chose comme ça? Si oui, pouvez-vous me diriger dans la bonne direction?
Merci d'avance!
Vous devrez montrer la configuration côté serveur. Les deux technologies ne sont pas incompatibles en soi. Regardez le message d'exception réel (y compris les exceptions internes), déterminez ce dont il se plaint et corrigez-le. –
Aussi, pourquoi avez-vous besoin de "deux"? C'est juste un changement d'URL, n'est-ce pas? –
John - merci pour la réponse. L'utilisateur final est utilisé pour aller à une URL comme ceci: https://my.website.com/app/default.asmx. Je voudrais que cette URL fonctionne encore sur le nouveau service web, juste pour une période de temps notre utilisateur final ne sera pas affecté. En même temps, nous voulons que la nouvelle URL "https://my.website/com/app/service.svc" fonctionne également, afin que nous puissions avertir nos utilisateurs finaux d'aller dans ce sens. Il est très possible que je m'y prenne mal, le développement web est encore un peu nouveau pour moi. – Brosto