J'ai une méthode de service Web où je voudrais lancer quelques exceptions personnalisées, par ex. SomeException, SomeOtherException, etc, que le service Web deviendrait alors une faute SOAP que le client serait capable de gérer. En Java, je peux avoir des éléments wsdl: fault dans l'élément wsdl: operation dans le WSDL. Il semble. NET que cela n'est pas pris en compte et qu'il n'y a aucun moyen de mettre des attributs sur un WebMethod pour montrer quelles fautes SOAP peuvent se produire. Si je crée un service Web Java qui contient des éléments wsdl: fault et ajoute une référence Web à un projet .NET, je m'attendrais à ce que les éléments wsdl: fault provoquent la création d'exceptions correctement nommées, tout comme les autres entités créé, cela ne semble toutefois pas être le cas.Services Web .NET 2.0 L'élément WSDL Fault est ignoré?
Est-ce que les éléments wsdl: fault d'un WSDL sont complètement ignorés par .NET? Ils font partie de la spécification WSDL définie à http://www.w3.org/TR/wsdl donc ce n'était pas le comportement que je m'attendais.
Si cela est possible, les contournements risquent de renvoyer un objet de résultat contenant une valeur booléenne succès/échec et un message d'erreur/enum. Ou en utilisant SoapExceptions. Si je choisis d'utiliser SoapExceptions, je mets l'emphèse sur l'utilisateur de mon service web pour les gérer et les désérialiser correctement. Les deux ne semblent pas être un excellent moyen de gérer cela et d'ajouter des problèmes et du code pour contourner ce problème.
Un conseil?
Quel type de client utilisez-vous? Si c'est Silverlight dans un navigateur, il y a des lacunes dans la gestion des fautes SOAP. – sipwiz
Le client est un site Web ASP.NET. – Martin