Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Данный сценарий мы используем в том случае, если нам нужно совместить стандартные сценарии авторизации при помощи системных уведомлений и авторизацию через API. Для такого решения мы используем специальную настройку, которую можно установить на любом уровне авторизации, например, в приведенном ниже примере мы сначала авторизуем заказ в Кортеос, а потом делаем авторизацию в какой-то внешней системе при помощи API.

...

Веб-сервис для получения списка командировок, по которым была запрошена авторизация в заданный период 08.02.2022

Для получения списка необходимо использовать веб-сервис: YourDomain/PortableViews/ModComplexAuthViews/API/ComplexAuthAPI.asmx

...

Expand
titleПример ответа
Code Block
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <GetComplexReservesByStartAuthResponse xmlns="https://corteos.ru/">
         <GetComplexReservesByStartAuthResult>
            <ComplexAuth id_ComplexReserve="774417" id_Authorization="419901" Hash="61b5b5e65a8bf191f6ac83eee6c54e97"/>
            <ComplexAuth id_ComplexReserve="774417" id_Authorization="419902" Hash="e4446c6dfd71775907d927c60b2c004e"/>
         </GetComplexReservesByStartAuthResult>
      </GetComplexReservesByStartAuthResponse>
   </soap:Body>
</soap:Envelope>

Пример ошибки:

Expand
titleПример ошибки Basic authorization required
Code Block
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> System.Exception: Basic authorization required
   в JavelinView3.Base.WebServices.BaseV3WebService.TryAuthFromHeaders(Boolean createNewControllerInstance) в C:\Projects\jv3\JavelinView3.Base\WebServices\_Common\Code\BaseWebService.cs:строка 199
   в ModComplexAuth.PortableViews.ModComplexAuthViews.API.ComplexAuthAPI.GetComplexReservesByStartAuth(DateTime dateFrom, DateTime dateTo) в C:\Projects\jv3\ModComplexAuth\PortableViews\ModComplexAuthViews\API\ComplexAuthAPI.asmx.cs:строка 80
   --- Конец трассировки внутреннего стека исключений ---</faultstring>
         <detail/>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>
Image Added