uses a pipe.read to make the service call