Je dispose d'un service Web dans l'application WinForm. J'ai généré un encapsuleur de service Web et invoqué une méthode de service Web de manière asynchrone. Je reçois l'exception suivante dans mon gestionnaire d'événements completed result (l'événement est généré depuis la classe wrapper du service Web). Quel pourrait être le problème?SocketException lors de la consommation du service Web
System.Reflection.TargetInvocationException: An exception occurred during the operation, making the result invalid. Check InnerException for exception details.
---> System.Net.WebException: Unable to connect to the remote server
---> System.Net.Sockets.SocketException: A connect request was made on an already connected socket
at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
at System.Net.Sockets.Socket.UnsafeBeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- End of inner exception stack trace ---
at System.Web.Services.Protocols.WebClientAsyncResult.WaitForResponse()
at System.Web.Services.Protocols.WebClientProtocol.EndSend(IAsyncResult asyncResult, Object& internalAsyncState, Stream& responseStream)
at System.Web.Services.Protocols.SoapHttpClientProtocol.InvokeAsyncCallback(IAsyncResult result)
--- End of inner exception stack trace ---
at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
Malheureusement, je ne peux pas mettre le code complet de l'emballage ici. Mais c'est le args événement que j'accès (voir le résultat ci-dessous propriété)
<ComVisible(False), System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.3053")> _
Public Delegate Sub MyCompletedEventHandler(ByVal sender As Object, ByVal e As MyCompletedEventArgs)
<ComVisible(False), _
System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.3053"), _
System.Diagnostics.DebuggerStepThroughAttribute(), _
System.ComponentModel.DesignerCategoryAttribute("code")> _
Partial Public Class MyCompletedEventArgs
Inherits System.ComponentModel.AsyncCompletedEventArgs
Private results() As Object
Friend Sub New(ByVal results() As Object, ByVal exception As System.Exception, ByVal cancelled As Boolean, ByVal userState As Object)
MyBase.New(exception, cancelled, userState)
Me.results = results
End Sub
'''<remarks/>
Public ReadOnly Property Result() As MyResponse
Get
Me.RaiseExceptionIfNecessary()
Return CType(Me.results(0), MyResponse)
End Get
End Property
End Class
Private Sub OnMyOperationCompleted(ByVal arg As Object)
If (Not (Me.MyCompletedEvent) Is Nothing) Then
Dim invokeArgs As System.Web.Services.Protocols.InvokeCompletedEventArgs = CType(arg, System.Web.Services.Protocols.InvokeCompletedEventArgs)
RaiseEvent MyPointsCompleted(Me, New MyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState))
End If
End Sub
Pouvez-vous montrer l'emballage? –
Mise à jour de l'article avec l'extrait de code pertinent de la classe wrapper. Cette classe a été générée par Visual Studio 2005 lorsque nous faisons "Ajouter une référence Web" et sélectionnez le service Web. Puisqu'il s'agit d'un problème aléatoire, je trouve qu'il est difficile de le réparer. Si je pouvais obtenir quelques conseils sur les vérifications possibles, cela faciliterait le dépannage. – byte
Avez-vous trouvé quel était le problème, j'ai les mêmes messages d'erreur. – Martin