如何修复 "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。
我正在使用 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。