Well, if the endpoint returns XML, use that connector, if it returns JSON, use the JSON connector. ODATA... Dynamics 365 has a web service endpoint, you use the Dynamics connector for that. Going to depend on the endpoint but there are lots of options. You can even use R or Python if your prefer:
Is it possible the data from the database is pushed or pulled into an intermediary layer from where Power BI can access it, with out having access to our database? Also can we incrementally update the data in this intermediary layer, so we don't have to pull data for past years every time we update or add data?