Тип содержимого веб-службы text/html не соответствует типу содержимого приложения привязки /soap+xml

Я работаю с ADFS, и URL-адрес сервера: https: // имя домена / adfs / ls

Когда я использовал это в своем.net-приложении (framework 4.6), используя трюк WSTrust, добавив в решение файл asmx со следующим фрагментом кода

var stsEndpoint = ConfigurationManager.AppSettings["EndPoint"];
        var relayPartyUri = ConfigurationManager.AppSettings["RelayPartyUri"];
        EndpointAddress epoint = new EndpointAddress(stsEndpoint);
        var factory =
            new WSTrustChannelFactory(new UserNameWSTrustBinding(SecurityMode.TransportWithMessageCredential),
                epoint)
            { TrustVersion = TrustVersion.WSTrust13 };
        if (factory.Credentials != null)
        {
            factory.Credentials.UserName.UserName = @"systemdomain\" + userName;
            factory.Credentials.UserName.Password = password;
        }
        var rst = new RequestSecurityToken
        {
            RequestType = WSTrust13Constants.RequestTypes.Issue,
            AppliesTo = new EndpointReference(relayPartyUri),
            KeyType = WSTrust13Constants.KeyTypes.Bearer
        };
        var channel = factory.CreateChannel();
        var token = channel.Issue(rst);
        var genericToken = token as GenericXmlSecurityToken;

теперь каждый раз, когда я запускаю приложение, оно показывает следующее сообщение об ошибке в строке

var token = channel.Issue(rst);

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

Трассировки стека:

Трассировка стека сервера: в System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(запрос HttpWebRequest, ответ HttpWebResponse, HttpChannelFactory1 factory, WebException responseException, ChannelBinding channelBinding) at System.ServiceModel.Channels.HttpChannelFactory1.HttpRequestChannel.HttpChannelRequest.WaitForReply (тайм-аут TimeSpan) в System.ServiceModel.Channels.RequestChannel.Request(сообщение-сообщение, тайм-аут TimeSpan) в System.ServiceModel.Channels.SecurityChannelFactoryRequerySecureSec. System.ServiceModel.Dispatcher.RequestChannelBinder.Request(сообщение-сообщение, время ожидания TimeSpan) в System.ServiceModel.Channels.ServiceChannel.Call(действие String, односторонний логический метод, операция ProxyOperationRuntime, входы Object[], выход Object[], время ожидания TimeSpan в) System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(метод IMethodCallMessageCall, операция ProxyOperationRuntime) в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(сообщение IMessage) Исключение, переброшенное в Remo.Rec.Ru IMessage reqMsg, IMessage retMsg) в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, тип Int32) в System.ServiceModel.Security.IWSTrustContract. выдает ошибку

Я не знаю, где проверить эту ошибку, у меня есть доступ к серверу, URL-адрес adfs не размещен на IIS.

Пожалуйста, помогите мне! заранее спасибо

0 ответов

Другие вопросы по тегам