[c#] The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication

I know this is an older post but one thing to watch out for when you cannot change the security is to make sure that your username and password are set.

I had a service with authenticationMode as UserNameOverTransport, when the username and password were not set for the service client I would get this error.