Я установил свежую новую версию Kentico v12 и использую базовый шаблон козла.
Я хотел бы иметь возможность синхронизировать создание пользователей и обновление личной информации этих пользователей.в веб-приложении с веб-сервисом SAP.
Я добавил новое пользовательское поле в пользовательский объект «SAPID» и создал соединитель для управления синхронизацией с веб-сервисами SAP.
Здеськод моего документа:
public class CMSIntegrationConnector : BaseIntegrationConnector
{
/// <summary>
/// Initializes the connector name.
/// </summary>
public override void Init()
{
// Initializes the connector name (must match the code name of the connector object in the system)
// GetType().Name uses the name of the class as the ConnectorName
ConnectorName = GetType().Name;
SubscribeToObjects(TaskProcessTypeEnum.AsyncSimple, PredefinedObjectType.USER);
}
public override IntegrationProcessResultEnum ProcessInternalTaskAsync(GeneralizedInfo infoObj, TranslationHelper translations, TaskTypeEnum taskType, TaskDataTypeEnum dataType, string siteName, out string errorMessage)
{
try
{
if (siteName == "DancingGoat")
{
if (infoObj.TypeInfo.ObjectType == PredefinedObjectType.USER.ToString())
{
if (taskType == TaskTypeEnum.CreateObject)
{
EventLogProvider.LogInformation("Connector", "CreateUser", "User created on SAP !!!!!");
UserInfo user = infoObj.MainObject as UserInfo;
// Call SAP webservice
user.SetValue("SAPID", Guid.NewGuid());
UserInfoProvider.SetUserInfo(user);
}
else if (taskType == TaskTypeEnum.UpdateObject)
{
EventLogProvider.LogInformation("Connector", "CreateUser", "User updated on SAP !!!!!");
// Call SAP webservice
}
}
}
}
catch (Exception ex)
{
EventLogProvider.LogException("Connector", "CreateUser", ex);
errorMessage = ex.Message;
return IntegrationProcessResultEnum.Error;
}
errorMessage = null;
return IntegrationProcessResultEnum.OK;
}
}
Вот дамп значений параметров, которые я получаю, когда отлаживаю событие createobject:
У меня есть 2проблемы.
- Почему параметр sitename имеет значение null?
- Почему он выполняется 3 раза подряд для каждого события CreateObject?
Я проверял этот пост: Kentico 12 DancingGoat MVC SiteName пусто или равно нулю
Добавление «localhost» в псевдоним домена домена не сработало.
Заранее спасибо!