Usually using a web server in the middle running your web service would be the preferred way. You must remember that when you're surfing the web using your mobile Internet connection, there's a very high chance your mobile ISP is using a NAT to bind several mobile users to a single public IP address, so you can't run a web server on your Android phone when you're connected to the Internet through your mobile carrier.
However, there is a way to do what you're asking without running an intermediate web server, and that is by using your Windows machine as the server and using DDNS (Dynamic DNS):
1) Setup DDNS in your Windows machine - There are several free services (and many paid services) that will let you install a program on your computer that will report the PC's dynamic IP address, and you'll be given a domain name that will always point to your Windows PC. If you wish to install the program on multiple machines, you can try and implement your own DDNS service (however, this will require an intermediate web server...)
2) Add web server features to your Windows application - simply put, you need to add a listener to your application on any port you wish to use that will listen to requests and answer them. If you're behind a home router, don't forget to open the necessary port.
3) Have your Android app connect to the DDNS domain name and perform the necessary requests.