First of all, it's a very common problem.
It is due to firewall issues, I have tried port forwarding but it doesnt work.
But I do have the solution, but not everyone will be able to implement it.
What I did was created a static IP address that I use for my Wii, and made a DMZ host on my router with this IP address. Basically what this does is grant this IP address access to all resources, with NO FIREWALL at all.
So if you can access your router settings, look for DMZ host.
For it me it was found under 'advanced settings>NAT'
If there is any other way for you to disable the firewall at your router, I'm sure it will work as well.
Hope this helps for you, and/or others
