Recuperer message erreur soap exception

Résolu/Fermé
Utilisateur anonyme - Modifié par Whismeril le 8/12/2014 à 11:03
 Utilisateur anonyme - 30 mars 2016 à 10:08
Bonjour,

Je suis actuellemnt entrain de suivre ma deuxième année de BTS, nous devons écrire un programme, une application windows form en Visual Basic, avec deux textBox et un bouton permettant de faire une division.

Je dispose d'un service web ASP.NET qui contient la méthode division, retournant la division de a par b, avec une exception gérée si division par zéro. Je pense que c'est le webService qui récupère l'exception.

Le code du WS donne ceci...

<WebMethod()> Public Function Division(ByVal a As Double, ByVal b As Double) As Double
        If b <> 0 Then
            Return a / b
        Else
            'On lève l'exception SOAP
            Throw New SoapException("Division par zero", SoapException.ClientFaultCode)
        End If
    End Function
End Class


Il y a donc la méthode division qui prend a et b en parametres, on retourne le résultat, mais on relève une exception soap si division par zéro. Honnêtement, je ne vois pas vraiment ce qu'est SOAP, même en lisant de la documentation sur le site du zéro, actuel openclassrooms, je ne vois pas ce que c'est exactement, j'aimerai bien comprendre...

Bref, j'ai un résultat en xml avec la méthode :

<double xmlns="http://xxx.fr/">2</double>


j'ai cette erreur générée sur le navigateur grâce à l'exception :

System.Web.Services.Protocols.SoapException: Division par zero
à Service1.Division(Double a, Double b)


Ensuite j'ai créé une application windows form qui prend le WS en référence pour accéder à la méthode division, et prend les valeurs des textbox en paramètres, avec un msgBox affichant le résultat :





Voici le code du bouton diviser :

Private Sub cmdDiviser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdDiviser.Click

        Dim monService As New SWComplexe.Service1

        Try

            MessageBox.Show(monService.Division(Double.Parse(txtA.Text),
                    Double.Parse(txtB.Text)).ToString)

        Catch ex As Exception

            MessageBox.Show(ex.Message)

        End Try
        
    End Sub


Voici le message générée par l'appli, via le service web qui a récupérée l'exception, lors d'une division par zéro :



Le souci c'est qu'on nous demande d'afficher le message d'erreur récupéré par le WS unqiuement sans les indications du service web disant d'pù vient l'erreur...

Auriez vous une idée ?

Merci d'avance

BEHEMOGER

EDIT: Précision du langage dansla coloration syntaxique pour plus de lisibilité.
A voir également:

1 réponse

Utilisateur anonyme
30 mars 2016 à 10:08
Bonjour,

N'étant plus dans le domaine du développement et m'étant tourné vers la maintenance et le support, je n'ai plus vraiment d'intérêt à ce sujet.

Je passe donc en résolu pour clore le sujet, même si je n'ai pas trouvé la réponse ;)
0