SOAP API рабочего дня: как аутентифицироваться

Я новичок в soap api рабочего дня, и я пытаюсь выяснить, как отправить запрос на мыло для аутентификации с помощью SOAPUI. Любые предложения были бы весьма полезными.

Ответ 1

Не уверен, что именно вы имеете в виду. Вы аутентифицируете неявно - нет отдельного запроса. Документация API рабочего дня опубликована здесь. Вы должны это прочитать. Когда вы импортируете WSDL, например, в .NET-решение, оно предоставит вам доступ к различным классам API.

Например, чтобы подключиться к API-интерфейсу Compensation из задачи SSIS script, я использую следующее:

// Instantiate and configure compensation client
CompensationPortClient compClient =  // I use custom binding - gives me more control
      new CompensationPortClient(CompensationObjectFactory.getWorkdayBinding(), 
      new EndpointAddress(endpointURL));

compClient.ClientCredentials.UserName.UserName = userName;
compClient.ClientCredentials.UserName.Password = password;

(Я создал CompensationObjectFactory для создания экземпляров всех API-интерфейсов на стороне клиента, потому что этот процесс несколько формул.) Затем вы можете совершать вызовы API с клиентским объектом, например, запрашивать одноразовую награду:

Request_OneTime_Payment_RequestType request = 
    CompensationObjectFactory.getOneTimePaymentRequest(
        CompensationObjectFactory.getBusinessProcessParameters(),
        CompensationObjectFactory.getOneTimePaymentData(
                  planId, currency, amount, effDt, emplID, positionID));

Request_OneTime_Payment_ResponseType response = 
          compClient.Request_OneTime_Payment(request);

Ответ 2

API-интерфейс Workday использует WS-Security для аутентификации.

Помните, что хост рабочего дня является многопользовательским. Таким образом, вы будете использовать конечную точку WSDL для подключения к правильному серверу, а поле имени пользователя будет содержать как ваше имя пользователя, так и арендатор на этом сервере.

Формат имени пользователя для SOAP Auth to Workday: [user-name]@[tenant-name]

Пример: [email protected]

Ваша учетная запись рабочего дня также должна быть в группе разработчиков Integration.

Вам может потребоваться настроить защиту и разрешения, кроме того, чтобы разрешить доступ к определенным функциональным группам и доменам, которые относятся к веб-службе.

Если вы используете SoapUI, сделайте следующее:

  • Импортировать WSDL в проект.
  • В разделе "Связывание интеграции" перейдите к настройкам.
  • На вкладке "Конечные точки службы" укажите имя пользователя, как описано выше.
  • Установите пароль для вашего пароля в арендаторе.
  • WSS-Type должен быть установлен в PasswordText.

Теперь вы можете сделать запрос.