Using web services is the correct approach for this. In fact, this is exactly how the official Moodle app works. If you haven't already it's worth taking a look and seeing if that suits your needs.
It looks like webservice_access_exception is thrown in lots of different cases. If you can include the error message it returns, it might help someone identify your problem.