如何修复 "Exception occured: [Sitecore Mobile SDK] Public key not received properly"?

How to fix "Exception occured: [Sitecore Mobile SDK] Public key not received properly"?

我正在使用 Sitecore 8 开发 Sitecore Mobile SDK。我遇到了如下异常:

Exception occured: [Sitecore Mobile SDK] Public key not received properly

类似这个posthttps://forums.xamarin.com/discussion/44352/sitecore-mobile-sdk-for-xamarin

我该如何修复这个错误?

更新

我的代码(参考:https://components.xamarin.com/view/Sitecore.Mobile.SDK):

private async Task<string> GetContent()
    {
        var instanceUrl = "http://sitecore.local";
        using (var credentials = new SecureStringPasswordProvider("admin", "b"))
        using
        (
            var session = SitecoreWebApiSessionBuilder.AuthenticatedSessionWithHost(instanceUrl)
                            .Credentials(credentials)
                            .WebApiVersion("v1")
                            .DefaultDatabase("web")
                            .DefaultLanguage("en")
                            .MediaLibraryRoot("/sitecore/media library")
                            .MediaPrefix("~/media/")
                            .DefaultMediaResourceExtension("ashx")
                            .BuildSession()
        )
        {
            var request = ItemWebApiRequestBuilder.ReadItemsRequestWithPath("/sitecore/content/home")
                            .Database("web")
                            .Language("en")
                            .Build();
            try
            {
                var respond = await session.ReadItemAsync(request);

                ISitecoreItem item = respond[0];
                var strContent = item["Title"].RawValue;

                return strContent;
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("Exception occured: " + ex.Message);
            }
            return "";
        }
    }

更新 1:

@Trayek,我更新了我的问题: 来自 "sdn.sitecore.net/upload/sdn5/modules/sitecore%20item%20web%20api/sitecore_item_web_api_developer_guide_sc66-71-usletter.pdf"。 我已经更改了 Sitecore.ItemWebApi.config 和 Sitecore.Speak.ItemWebApi.config 上的安全性。 模拟器:我在 Genymotion 和 Xamarin_Android_API_15.

上进行了测试

首先,我假设您已经启用了 Sitecore Item Web API。不然也会出这个issue

当我遇到这个错误时,我按照 this blog post 中的步骤为我修复了它。

简而言之:模拟器不会使用您的主机文件,而是使用它自己的主机文件。所以模拟器不知道 http://sitecore.local 是什么,这意味着 Sitecore 无法验证它是否可以与之对话。

博客 post 向您展示了如何更新模拟器的主机文件,以便您仍然可以使用 http://sitecore.local