如何修复"发生异常:[Sitecore Mobile SDK]公钥未正确收到"?

时间:2015-12-04 04:53:08

标签: xamarin sitecore sitecore8 sitecore-mobile-sdk

我正在使用Sitecore 8开发Sitecore Mobile SDK。我正面临如下例外:

  

发生异常:[Sitecore Mobile SDK]未正确接收公钥

类似这篇文章https://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,我更新了我的问题: 来自&#34; 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。

1 个答案:

答案 0 :(得分:3)

首先,我假设您已启用Sitecore Item Web API。如果不是这样也会出现这个问题。

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

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

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