Comment pouvez-vous changer l'Enveloppe SOAP schéma dans WCF?
Je suis connecté à un tiers de point final via WCF et j'ai un problème. Le schéma de l'enveloppe SOAP qui est généré par la WCF n'est pas compatible avec le point de fin.
Actuellement WCF est la génération de ce:
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:a="http://www.w3.org/2005/08/addressing">
Mais il doit être:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://www.w3.org/2005/08/addressing">
J'ai testé cela dans soapUI pour confirmer que c'est le problème, mais comment puis-je contrôler cette dans WCF? J'ai utilisé le Service d'Ajout de Référence option dans Visual Studio pour générer le service.
Des idées?
Merci d'avance.
Andy
- Avez-vous essayé de créer le proxy à l'aide de svcutil.exe?
Vous devez vous connecter pour publier un commentaire.
Vous avez probablement un problème avec la version SOAP. Ce que la liaison utilisez-vous??
basicHttpBinding
par défaut SOAP 1.1, tandis quewsHttpBinding
par défaut SOAP 1.2C'est SOAP 1.1 (par défaut dans basicHttpBinding):
alors que c'est SOAP 1.2 (par défaut dans wsHttpBinding):
Solutions possibles:
1) soit vous pouvez simplement passer liaisons et c'est tout - vous devez vous assurer de vérifier les paramètres de sécurité et ainsi de suite (qui diffèrent entre la base et wsHttpBinding)
ou
2) vous avez besoin pour créer votre propre personnalisé de liaison et de spécifier explicitement la version SOAP vous avez besoin