The only interoperable endpoint supported by WCF are the http ones (ie SOAP) and of those, I would steer well clear of the wshttpbinding option as it doesn't really interoperate with non-Microsoft SOAP clients. (there are other SO questions about this, just trust me. basicHttpBinding is the one you want). From that point, you're basically making SOAP 1.1 calls into a webservice. You can configure your WCF service to listen on 2 endpoints, one for internal clients, the other for external ones. Use one of the security options on the endpoint (probably [TransportCredentialsOnly][1] option as iOS will not support all the Windows-only security options such as NTLM that you can use). Making web service calls should be trivial with iOS. (ah, quick google shows that there is now a [webHttpBinding][2] option that exposes your service as a REST-based http server. this is a much better choice than bloated and poorly defined SOAP. I'd use this now). [1]: http://msdn.microsoft.com/en-gb/library/ff648505.aspx [2]: https://stackoverflow.com/questions/2650785/basichttpbinding-vs-wshttpbinding-vs-webhttpbinding