Fundamentally, the myWebService isn't having it's connection closed, and the server is timing it out. The server does this to prevent denial of service attacks. You need to closed the connection (just creating a new one and assigning it to code> just won't have the same effect. Additionally, that catch block is a bad idea, generally it is bad to catch the base Exception type, and calling a service in a loop is bad practise.
Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.