0

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、質問を更新しました:「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 でテストしました。

4

1 に答える 1

3

まず、Sitecore Item Web API が有効になっていることを前提としています。そうでない場合は、この問題も発生します。

このバグが発生したとき、このブログ投稿の手順に従って修正しました。

簡単に言うと、エミュレーターはホストファイルを使用しませんが、独自のものです。そのため、エミュレーターはhttp://sitecore.localが何であるかを認識できません。つまり、Sitecore はエミュレーターと通信できることを検証できません。

ブログの投稿では、エミュレーターのホスト ファイルを更新して、引き続きhttp://sitecore.localを使用できるようにする方法を示しています。

于 2015-12-04T10:28:00.000 に答える