Como passar credenciais para um serviço da web SOAP?

Estou tentando chamar um serviço da web SOAP, mas estou recebendo o erro: Informações adicionais: O nome de usuário não é fornecido. Especifique o nome de usuário em ClientCredentials.

Então, pensei que poderia apenas definir client.ClientCredentials para uma nova instância do NetworkCredentials. No entanto, ClientCredentials é somente leitura. Então, como posso passar essas informações para acessar o serviço da web?

    myService.ServiceClient client = new myService.ServiceClient();
    // This won't work since its read only.                
    client.ClientCredentials = new System.Net.NetworkCredential("username", "password", "domain");
    string version = client.getData();

Edição: Encadernação:

  <binding name="VersionHttpBinding">
    <security mode="TransportCredentialOnly">
      <transport clientCredentialType="Basic" />
    </security>
  </binding>

questionAnswers(1)

yourAnswerToTheQuestion