2

I am working with ADFS, and the server URL is: https://domainname/adfs/ls

When i have consumed this in my .net application (framework 4.6) using WSTrust trick by adding an asmx file in the solution with the following code snippet

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;

now everytime when i run the application, it shows following error message at line

var token = channel.Issue(rst);

The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (application/soap+xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '

Stack Trace:

Server stack trace: at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory1 factory, WebException responseException, ChannelBinding channelBinding) at System.ServiceModel.Channels.HttpChannelFactory1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout) at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at System.ServiceModel.Security.IWSTrustContract.Issue(Message message) at System.ServiceModel.Security.WSTrustChannel.Issue(RequestSecurityToken rst, RequestSecurityTokenResponse& rstr) at System.ServiceModel.Security.WSTrustChannel.Issue(RequestSecurityToken rst) at methodname(parameters) in the above line which throws error

I dont know where to check this error, i do have server access adfs url is nor hosted from IIS.

Please help me! Thanks in advance

user1691894
  • 67
  • 1
  • 8
  • I think you need to check the config files of service, as well as client. It seems that the client is expecting wshttpbinding, whereas the service is having other binding. – Nirman Jan 17 '18 at 12:42
  • The asmx is added in the solution itself i.e the web.config is the same as in application so it is not having the bindings setting. Also from where i can check the config file of ADFS service url?? – user1691894 Jan 17 '18 at 12:45

0 Answers0