我正在使用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。
答案 0 :(得分:3)
首先,我假设您已启用Sitecore Item Web API。如果不是这样也会出现这个问题。
当我遇到这个错误时,我按照this blog post中的步骤为我修好了。
缺点是:模拟器不会使用您的主机文件,而是它自己的主机文件。因此,模拟器不知道http://sitecore.local是什么,这意味着Sitecore无法验证它是否可以与之通信。
博客文章向您展示了如何更新模拟器的主机文件,以便您仍然可以使用http://sitecore.local。