Тип содержимого веб-службы 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, HttpChannelFactory
1 factory, WebException responseException, ChannelBinding channelBinding) at System.ServiceModel.Channels.HttpChannelFactory
1.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.
Пожалуйста, помогите мне! заранее спасибо