0

内部でリモート URL を呼び出す Web API 2.0 セットアップがあり、このコードは PC ではうまく機能しますが、FireFox などの Apple Mac ブラウザーでは機能しません。401 エラーが発生しています。どんな助けでも大歓迎です!

問題のコードは次のとおりです。

        private static XmlDocument GetXml(string searchCriteria)
    {
        if (searchCriteria == null) throw new ArgumentNullException(nameof(searchCriteria));

        var sUrl = "https://a_remote_classic_asp_service_layer/service.asp?";
        var appendUrl = "&sh=N&sp=Y&sr=N";
        string fullUrl = $"{sUrl}{searchCriteria}{appendUrl}";

        string searchParms = $"{searchCriteria}{appendUrl}";
        var document = new XmlDocument();
        document.PreserveWhitespace = false;


        using (((WindowsIdentity)HttpContext.Current.User.Identity).Impersonate())
        {
            var request = WebRequest.Create(fullUrl);
            request.Credentials = CredentialCache.DefaultCredentials;
            request.UseDefaultCredentials = true;
            request.PreAuthenticate = true;

            using (var stream = request.GetResponse().GetResponseStream())
            {
                if (stream == null) return document;
                using (var reader = XmlReader.Create(stream))
                {
                    document.Load(stream);
                }
            }
        }
        return document;
    }

ありがとう!

4

1 に答える 1

0

わかりました、これでわかりました。Apple Mac では各ブラウザーを個別に構成する必要があり、これらの構成の更新は、問題を修正するためにスクリプトでプッシュされます。これを私の OSX Mavericks バージョンでテストしたところ、すべてのブラウザ (Safari、Chrome、Firefox) が正常に動作しました。

于 2016-03-11T20:55:09.823 に答える