Bonjour,
Je voudrais accéder à un sevice web xml qui donne la météo aux states, et ceci en tâche de fond. J'utilise pour cela la méthode suivante:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub BackgroundCurrentWorker_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundCurrentWorker.DoWork
' This method will execute in the background thread created
' by the BackgroundWorker component
'Dim desiredZipCode As Integer = e.Argument
Dim weatherService2 As New WeatherWebService.Service()
Dim userCredentials2 As New WeatherWebService.UserCredentials()
userCredentials2.UserName = My.Settings.username
userCredentials2.Password = My.Settings.password
Dim weatherInfo2 As New WeatherWebService.WeatherInfo
weatherInfo2 = weatherService2.GetWeatherInfo(currentZipCode)
e.Result = weatherInfo2
End Sub |
La méthode getWeatherInfo prend comme argument le code postal (zipCode) aux USA, et renvoie une liste d'infos comme la température, la pression,l'humidité, etc...
Pour l'info concernant la méthode, vous pouvez consulter : http://www.ejse.com/weather_data.htm (service B).
Mon problème est que la requête à la méthode GetWeatherInfo plante: il s'affiche un message d'erreur :
Server was unable to process request. --> Object reference not set to an instance of an object
.
Je ne pense pas que le problème vient de la gestion en tâche de fond, mais de l'accès au service web.
Si quelqu'un a une idée sur ce message, ce qu'il veut dire, je vous remercierais de me le faire savoir.
lolveley.
Partager