2009-10-12 4 views
2

Il semble que .NET 3.5 impose le schéma SOAP 1.2 lorsqu'il traite des services Web, même si le service spécifie SOAP 1.1 dans le schéma de l'enveloppe SOAP. Existe-t-il un paramètre permettant à la référence de service de reconnaître SOAP 1.1?Utilisation d'un service Web SOAP 1.1 à partir de .NET 3.5

EDIT: Le problème est le formatage des erreurs SOAP renvoyées par le service Web vers le client .NET 3.5. Dans SOAP 1.1, il est acceptable d'avoir le premier sous-élément de la faute à <faultactor>. Dans SOAP 1.2, ceci n'est plus valide - le premier sous-élément doit être <faultcode>. Le problème que j'ai vu est que quand le service Web de SOAP 1.1 a retourné une faute de SOAP j'obtiendrais une exception sur le .NET se plaindre que l'élément <faultcode> était prévu, mais <faultactor> a été reçu. Je pense que nous avons réduit le problème à un problème de version SOAP; Nous testons la solution proposée maintenant.

+0

S'il vous plaît donner un exemple de ce que vous voulez dire. Qu'avez-vous essayé, quel a été l'effet? –

+0

Ajout d'un exemple. –

Répondre

5

Si vous utilisez WCF, définissez-le dans votre liaison personnalisée.

<textMessageEncoding messageVersion="Soap11" /> 

Si vous utilisez asmx est ici un bon blog

+0

C'est pourquoi je voulais que l'OP décrive ce qu'il a essayé - il devrait "juste fonctionner" dans la WCF. –

+0

Bonjour Gary, nous n'utilisons en fait pas WCF - j'ajoute juste une référence de service dans Visual Studio. J'ai ajouté un attribut au client comme décrit précédemment et j'espère que cela réglera le problème. –

Questions connexes