Win32Exception: целевое имя участника неверно при вызове службы WCF с WebClient

Я собрал краткий пример кода с linqpad, показывающим вызов веб-службы WCF без создания прокси-класса из WSDL. Вот что у меня есть:

using (var wb = new WebClient())
{
  wb.Credentials = CredentialCache.DefaultNetworkCredentials;
  wb.Headers.Add("Content-Type: text/xml;charset=UTF-8");
  wb.Headers.Add("SOAPAction: \"http://tempuri.org/Core/Project_GetNumberForExternalUse\"");

  String requestString = @"
    <soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:tem=""http://tempuri.org/"">
    <soapenv:Header/>
    <soapenv:Body>
        <tem:Project_GetNumberForExternalUse>
          <!--Optional:-->
          <tem:extData1>ext 1</tem:extData1>
          <!--Optional:-->
          <tem:extData2>ext 2</tem:extData2>
          <!--Optional:-->
          <tem:extData3>ext 3</tem:extData3>
          <!--Optional:-->
          <tem:extData4>ext 4</tem:extData4>
          <!--Optional:-->
          <tem:extDataLong>ext 1ext 1ext 1ext 1ext 1</tem:extDataLong>
        </tem:Project_GetNumberForExternalUse>
    </soapenv:Body>
  </soapenv:Envelope>
  ";

  var response = wb.UploadString("http://myserver:55002/Core.svc", "POST", requestString);
  response.Dump();
}

Это прекрасно работает при подключении к localhost, но не к myserver. Служба WCF настроена на использование проверки подлинности Windows. Исходя из ошибки, я предполагаю, что проблема в том, что имя участника службы не включается в авторизацию. Если бы я использовал клиент WCF с прокси-сервером, я бы обратился к этому с помощью раздела конфигурации конечной точки / идентификации. Однако я не вижу способа установить это в коде. Разве нет способа сделать это? Есть ли другой способ обойти это требование?

Ответы на вопрос(2)

Ваш ответ на вопрос