IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Discussion :

SoapException vers FaultException


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut SoapException vers FaultException
    bonjour, ,
    sur un projet j'ai le code suivant qui consomme un webservice (framework 2.0)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                try
                {
                    abonne = Service.Obtenir(jeton);
                }
                catch (SoapException se)
                {
                    if (JETON_INVALIDE.Equals(se.SubCode.Code.Name, StringComparison.InvariantCultureIgnoreCase))
                        throw InvalidJetonException.Create(se, jeton);
    Dans un nouveau projet je veux consommer le même webservice sauf que j'ai ajouté un Service Reference (comme je suis en frammwork 4) et que je dois catcher avec une FaultException. Le probleme est que le message se.SubCode.Code.Name de ma SoapException je n'arrive pas à le retrouver dans ma FaultException .

    comment faire ? Par avance merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Par défaut
    Je suis pas certain d'avoir compris à 100% ton problème.

    Je ne sais plus exactement comment ni où, mais je sais que l'on peut configurer un server asp.net (l'hôte de ton service), pour qu'il propage les exceptions ou non.

    Pour des raisons évidentes de sécurité, habituellement on ne propage pas les exceptions (ça donne trop d'indications sur le code implémenter au niveau du serveur)


    Ceci pourrait aussi peut-être t'aider :
    http://msdn.microsoft.com/en-us/libr...v=VS.100).aspx

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    Le problème est que la classe client que Framework 4 me gére me renvoie maintenant des FaultException et pas de SoapException et donc je perds mon SubCode

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Par défaut
    j'ai trouvé, j'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <bindings>
                <basicHttpBinding>
                    <binding name="WSUtilisateurSoap" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                        useDefaultWebProxy="true">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <security mode="None">
                            <transport clientCredentialType="None" proxyCredentialType="None"
                                realm="" />
                            <message clientCredentialType="UserName" algorithmSuite="Default" />
                        </security>
                    </binding>
    </basicHttpBinding>
               </bindings>
            <client>
                <endpoint address="http://webservices.entreprise.org/WSUtilisateur.asmx"
                    binding="basicHttpBinding" bindingConfiguration="WSUtilisateurSoap"
                    contract="Webservices.WSUtilisateur.WSUtilisateurSoap"
                    name="WSUtilisateurSoap" />
            </client>
        </system.serviceModel>
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <bindings>
           <customBinding>
                    <binding name="WSUtilisateurSoap12">
                        <textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
                            messageVersion="Soap12" writeEncoding="utf-8">
                            <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                                maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        </textMessageEncoding>
                        <httpTransport manualAddressing="false" maxBufferPoolSize="524288"
                            maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous"
                            bypassProxyOnLocal="false" decompressionEnabled="true" hostNameComparisonMode="StrongWildcard"
                            keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
                            realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"
                            useDefaultWebProxy="true" />
                    </binding>
     </customBinding>
            </bindings>
            <client>
                <endpoint address="http://webservices.entreprise.org/WSUtilisateur.asmx"
                    binding="customBinding" bindingConfiguration="WSUtilisateurSoap12"
                    contract="Webservices.WSUtilisateur.WSUtilisateurSoap"
                    name="WSUtilisateurSoap12" />
            </client>
        </system.serviceModel>
    le probleme était du à version de SOAP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  2. Socket:Envoyer du texte d'un serveur vers tout les clients
    Par cedm78 dans le forum Web & réseau
    Réponses: 7
    Dernier message: 01/08/2002, 16h40
  3. [Kylix] De delphi vers Kylix : Et les HLP ?
    Par Beuz dans le forum EDI
    Réponses: 1
    Dernier message: 11/06/2002, 11h38
  4. Réponses: 2
    Dernier message: 30/05/2002, 10h19
  5. Réponses: 1
    Dernier message: 13/05/2002, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo