Сервисы SOAP HTTPS потребляют в c # - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь использовать HTTPS SOAP Service, у которого есть учетные данные для его авторизации, и появляется следующая ошибка:

Произошло необработанное исключение типа «System.ServiceModel.ProtocolException» в mscorlib.dll

Дополнительная информация: тип контента text / html; charset = utf-8 ответного сообщения не соответствует типу содержимого привязки (text / xml; charset = utf-8). При использовании пользовательского кодировщика убедитесь, что метод IsContentTypeSupported реализован правильно. Первые 1024 байта ответа были: '

Привязки ниже. Я что-то упустил?

<endpoint address="https://...."
          binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IInboundService1"
          contract="RQSInboundExternal.IInboundService" name="BasicHttpBinding_IInboundServiceQSPort">

<basicHttpBinding>              
            <binding name="BasicHttpBinding_IInboundService1" >                  
              <security mode="Transport" >
               <transport clientCredentialType="Basic"/>                   
              </security>
            </binding>
        </basicHttpBinding>

1 Ответ

0 голосов
/ 17 мая 2018

установите здесь имя пользователя и пароль.Это также необходимо отправить.Если мы только отправим в шапке, он не работает.

client.ClientCredentials.UserName.UserName = "";
client.ClientCredentials.UserName.Password = "";

var httpRequestProperty = new HttpRequestMessageProperty();
httpRequestProperty.Headers[HttpRequestHeader.Authorization] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(client.ClientCredentials.UserName.UserName + ":" + client.ClientCredentials.UserName.Password));
            client.Open();
            var context = new OperationContext(client.InnerChannel);
            using (new OperationContextScope(context))
            {
                context.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;

                client.SampleMethodCall();
            }
...