Having trouble exposing a headless service with multiple replicas

Hi all,
I am having issues at the moment with exposing postgres/mongodb/redis statefulsets in a headless configuration. I have created a gateway for it, a virtual service, service entry and edited the ingressgateway deployment and service to open the ports I am using to expose the service. When I try and connect to database with a client, I get a connection refused error and on inspection of the port it shows it as closed.
Ive tried this on two clusters on GKE running 1.6.4 and 1.5.0 versions of istio.

Has anyone successfully managed to expose the above running as a headless service?

Any help is appreciated