2016-12-12 9 views
0

Я пытался помочь в следующем вопросе с простым примером. could-anyone-provide-aikau-form-example-with-data-loadingОшибка 401 в aikau при выполнении запроса репо

В принципе, я бы сделал запрос репо, когда диалог формы загрузился и захотел отобразить документ libray noderef в диалоговом окне. Поэтому я вызывал makeRepoRequest() во время загрузки диалогового окна, но на вкладке сети отображается ошибка 401.

Пожалуйста, дайте мне знать, что не так с этим образцом?

/* studentForm.get.js */ 
function makeRepoRequest() 
{ 
    var alfDestination = "something"; 


    var site = page.url.templateArgs.site; 
    var result = remote.call("/slingshot/doclib/container/" + site + "/documentLibrary"); 
    return result.status.code; 
    if (result.status.code == status.STATUS_OK) { 
     alfDestination = JSON.parse(result).container.nodeRef; 
    } 
} 

var formControls = [ 
    { 
    name: "alfresco/forms/controls/TextBox", 
    config: { 
     name: "name1", 
     label:"Name", 
     placeHolder:"Enter Name Here", 
     visibilityConfig: { 
     initialValue: true 
     } 
    } 
    }, 
    { 
    name: "alfresco/forms/controls/TextBox", 
    config: { 
     label:"Age", 
     name: "age", 
     placeHolder:"Enter Age Here", 
     visibilityConfig: { 
     initialValue: true 
     } 
    } 
    } 
    , 
    { 
    name: "alfresco/forms/controls/TextBox", 
    config: { 
     label:"NodeRef", 
     name: "nodeRef", 
     visibilityConfig: { 
     initialValue: true 
     }, 
     value : makeRepoRequest() 
    } 
    } 
]; 

var showDialog = { 
    name: "alfresco/buttons/AlfButton", 

    config: { 
    readOnly:"true", 
    id:"dialog1", 
    label: "Create New Student", 
    additionalCssClasses: "call-to-action", 
    publishTopic: "ALF_CREATE_FORM_DIALOG_REQUEST", 
    publishPayloadType: "PROCESS", 
    publishPayload: { 
     dialogTitle: "Student Form", 
     dialogConfirmationButtonTitle: "Register", 
     dialogCancellationButtonTitle: "Cancel", 
     formSubmissionTopic: "ALF_CRUD_CREATE", 
     formSubmissionPayloadMixin: { 
     url: "api/type/cm%3Astudent/formprocessor" 
     }, 
     fixedWidth: true, 
     widgets: formControls 
    } 
    } 
}; 

model.jsonModel = { 
widgets :[showDialog 
     ], 
services : [ 
      "alfresco/dialogs/AlfDialogService", 
      "alfresco/services/CrudService" 
     ]  
}; 

ответ

1

Код состояния 401 указывает, что пользователь не аутентифицирован. Где вы работаете над этим кодом? Является ли он на Share или автономным клиентом Aikau? Пользователь вошел в систему? Имеют ли они необходимые разрешения для доступа к этому API? Являются ли они участником сайта? Какая конфиденциальность сайта?

+0

Извините за недостающую информацию. Он работает на Alfresco Share, а имя пользователя - администратор, на котором есть общественная видимость. –

+1

И вы вошли в систему перед запуском кода? Что произойдет, если вы попытаетесь использовать этот URL прямо из браузера, где вы вошли в систему? –

0

я протестировал свой код с приданием моего имени сайта статический (бывший демо) в alfreso SDK, она работает нормально и дает мне nodeRef используя этот код

function makeRepoRequest() 
{ 
var alfDestination = "something"; 


var site = "demo"; 
var result = remote.call("/slingshot/doclib/container/" + site + "/documentLibrary"); 

if (result.status.code == status.STATUS_OK) { 
    alfDestination = JSON.parse(result).container.nodeRef; 
} 
return alfDestination ; 
} 

Вы проверили, что независимо от имени сайта получает верный? Я тестировал этот код с помощью URL-адреса браузера.

 Смежные вопросы

  • Нет связанных вопросов^_^