OVH Cloud OVH Cloud

WebService/Client - Exceptions

3 réponses
Avatar
Delf
Bonjour.

J'ai une méthode qui doit lever une exception (tests) :

<WebMethod(Description:="Lève une exception")> _
Public Function getException(ByVal pIdx As Integer) As Integer
Dim tab() As Integer = {1, 2, 3, 4, 5}
Try
getException = tab(pIdx)
Catch ex As Exception
End Try
End Function
End Function

Voici ce que j'ai côté client :

Private Sub btException_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btException.Click

If (IsNumeric(tbGetValue.Text)) Then
Try
Dim wsRunAction As wsContactService.wsVBContacts
Dim getValue As Integer = _
wsRunAction.getException(CType( _
tbGetValue.Text, Integer))
Catch ex As Exception
lblException.Text = "Exception : " & ex.Message
End Try
End If
End Sub

Exemple, tbGetValue.Text faut 99...

Comment récupérer l'exception levée sur le WebService ? Est-ce possible
sans 'encapsulerle Integer de retour dans un objet (+ string d'erreur) ?
Merci.

--
Delf

3 réponses

Avatar
Frédéric Queudret [MS]
Bonjour,

A priori le catch de l'exception sur le serveur ne permettra pas de
sérialiser une exception vers l'appelant.
Retirez le try/catch pour sérialiser l'exception vers l'appelant.
Attention, l'exception sérialisé est de type SoapException et non pas
l'exception levée sur le serveur...

Frédéric.

"Delf" wrote in message
news:420b66f7$0$29735$
Bonjour.

J'ai une méthode qui doit lever une exception (tests) :

<WebMethod(Description:="Lève une exception")> _
Public Function getException(ByVal pIdx As Integer) As Integer
Dim tab() As Integer = {1, 2, 3, 4, 5}
Try
getException = tab(pIdx)
Catch ex As Exception
End Try
End Function
End Function

Voici ce que j'ai côté client :

Private Sub btException_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btException.Click

If (IsNumeric(tbGetValue.Text)) Then
Try
Dim wsRunAction As wsContactService.wsVBContacts
Dim getValue As Integer = _
wsRunAction.getException(CType( _
tbGetValue.Text, Integer))
Catch ex As Exception
lblException.Text = "Exception : " & ex.Message
End Try
End If
End Sub

Exemple, tbGetValue.Text faut 99...

Comment récupérer l'exception levée sur le WebService ? Est-ce possible
sans 'encapsulerle Integer de retour dans un objet (+ string d'erreur) ?
Merci.

--
Delf


Avatar
Delf
Frédéric Queudret [MS] wrote:

A priori le catch de l'exception sur le serveur ne permettra pas de
sérialiser une exception vers l'appelant.
Retirez le try/catch pour sérialiser l'exception vers l'appelant.
Attention, l'exception sérialisé est de type SoapException et non pas
l'exception levée sur le serveur...



Merci beaucoup, ca fonctionne à présent.

--
Delf
Avatar
Delf
Delf wrote:

[...]



Tiens, bizarre : quand une SoapException est levée, si on passe par
l'interface du webservice et non pas par une page ASP.NET qui le
consomme... il part dans le mur ; il n'affiche pas l'exception...

--
Delf