Zum Hauptinhalt springen
Dieses Protokoll enthält Datensätze zu Ereignissen und Fehlern bei der Dokumentverarbeitung.
Nur Benutzer mit den Berechtigungen Mandantenadministrator (oder Systemadministrator im Fall des Standardmandanten) und Monitoring Operator können Ereignisprotokolle aus dem Processing Monitor herunterladen.
Verwenden Sie zum Herunterladen dieses Protokolls eine POST-Anfrage.
POST https://<server address>/FlexiCapture12/Monitoring/Project/GetEventsCSV

Anfrageparameter

  1. Alle Parameter sind erforderlich. Stellen Sie sicher, dass sie korrekt angegeben werden.
  2. Die Suche in Oracle Database berücksichtigt Groß- und Kleinschreibung. Bitte beachten Sie das, wenn Sie Oracle Database verwenden.

Name

Typ

Beschreibung

filter

string

Legt die Filterparameter fest. Dadurch werden nur Protokolleinträge erfasst, die die Filterbedingungen erfüllen. Zum Kombinieren der Bedingungen können nur die AND- und ODER-Operatoren verwendet werden. Die Operatoren werden im Parameter GeneralOperator angegeben. Beispiel für Filterparameter:

filter={
“GeneralOperator”: “AND”,
“FilterItems”: [
{
“PropertyKey”: “Date”,
“PropertyOperator”: “BETWEEN”,
“PropertyValues”: [
“2021-08-28”,
“00:00:00”,
“2023-09-28”,
“23:59:59”
]
},
       {
“PropertyKey”: “Id”,
“PropertyOperator”: ”>=”,
“PropertyValues”: [“127602430”]
},
       {
“PropertyKey”: “BatchName”,
“PropertyOperator”: “CONTAINS”,
“PropertyValues”: [“default”]
}
]
}

Die erforderlichen Werte für die Parameter PropertyKey und PropertyOperator finden Sie, indem Sie in der Administration and Monitoring Console den gewünschten Filter erstellen. Gehen Sie dazu wie folgt vor:

  1. Klicken Sie im Browser-Menü auf Weitere Tools -> Entwicklertools und wechseln Sie zur Registerkarte Netzwerk.
  2. Starten Sie die Administration and Monitoring Console, wechseln Sie zu Processing Monitor → Ereignisprotokoll und klicken Sie auf die Schaltfläche .
  3. Geben Sie die Filterkriterien an und klicken Sie auf Anwenden.
  4. Klicken Sie auf die Anfrage GetFilteredEvents. Die Filterparameter werden auf der Registerkarte Payload aufgeführt.

Wichtig! Wenn Sie Ereignisse für Standard-Batches filtern müssen, geben Sie statt “BatchTypeName” den Parameter “BatchTypeNameExt” an:

“FilterItems”: [
       {
“PropertyKey”: “BatchTypeNameExt”,
“PropertyOperator”: “CONTAINS”,
“PropertyValues”: [“Default”]
}

Bitte beachten Sie, dass “BatchTypeName” für den Standard-Batch im Parameter columnsOrder beibehalten werden sollte.

columnsOrder

string

Liste der Spalten, die dem Bericht hinzugefügt werden sollen. Mögliche Werte sind:

  • ID
  • Date
  • EventType
  • Comment
  • UserFullName
  • Workstation
  • BatchId
  • BatchName
  • BatchTypeName
  • StageFromName
  • StageToName
  • ProjectName
  • RoleName
  • TenantName

sortColumnindex

int

Gibt die Spalte an, die zum Sortieren der Datensätze im Protokoll verwendet wird.

sortOrder

bool

Gibt die Reihenfolge an, in der die Datensätze sortiert werden:

  • true sortiert die Datensätze in absteigender Reihenfolge,
  • false sortiert die Datensätze in aufsteigender Reihenfolge.

projectId

int

Gibt die Projekte an, für die Datensätze in das Ereignisprotokoll aufgenommen werden sollen. Mögliche Werte sind:

  • -1 – Datensätze für alle verfügbaren Projekte werden in das Protokoll aufgenommen.
  • 1 und höher – nur Datensätze für das Projekt mit der angegebenen ID werden in das Protokoll aufgenommen.

Verwenden Sie die Methode GetProjects, um alle verfügbaren Projekt-IDs abzurufen.

Ein Beispiel für die Verwendung dieser API finden Sie im Skript. Laden Sie das Skript hier herunter oder verwenden Sie den unten bereitgestellten Skriptcode.
Die Parameter in diesem Skript sollten durch Ihre Serveradresse, Ihren Mandantennamen und Ihre eigenen Anmeldedaten ersetzt werden.
# parameters
$server = "https://<server address>"
$tenant = "<Mandantenname>"
$user = "<user name>"
$password = "<password>"
#Pfad zum Ordner, in dem das Log gespeichert wird
$folder = "C:\Temp\Logs\Stage"
$reportFileName = "Project_Events-{0:yyMMdd-HHmmss}.csv" -f (Get-Date)
# log parameters
$requestBody =  @"
filter={
"Name": "Complex filter",
"GeneralOperator": "AND",
"FilterItems": [
{
"PropertyKey": "Date",
"PropertyOperator": "BETWEEN",
"PropertyValues": ["2018-09-12","00:00:00","2023-10-12","23:59:59"]
},
{
"PropertyKey": "Id",
"PropertyOperator": ">=",
"PropertyValues": ["127602430"]
}
]
}
&columnsOrder=Id,Date,EventType,Comment,UserFullName,Workstation,BatchId,BatchName,BatchTypeName,StageFromName,StageToName,ProjectName,RoleName,TenantName
&sortColumnindex=0
&sortOrder=true
&projectId=-1
"@
#------------------------------------------------------------------------------
$methodUri = "/Project/GetEventsCSV"
$authServer = $server
$ServerSitePath = "/FlexiCapture12/Monitoring"
function Write-Line($str, $color = "White")
{
Write-Host $str -ForegroundColor $color
}
function Join-Uri
{
param([Parameter(Mandatory, ValueFromPipeline)] [string]$parent, [string]$child)
if ($parent -eq "") {return $child;}
if ($child -eq ""){return $parent}
if ($parent.endswith("/") -or $parent.endswith("\\")) {$parent = $parent.substring(0,$parent.Length-1)}
if ($child.startswith("/") -or $child.startswith("\\")) {$child = $child.substring(1,$child.Length-1)}
return "$parent/$child"
}
function Get-AuthTicket($server, $user, $password, $tenant)
{
$tenantSuffix=""
if ($tenant -ne ''){ $tenantSuffix = "?tenant=$tenant"}
$URL = Join-Uri $authServer "/FlexiCapture12/Server/FCAuth/API/Soap$tenantSuffix"
$SOAPRequest = '<?xml version="1.0" encoding="utf-8"?><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><FindUser xmlns="urn:http://www.abbyy.com/FlexiCapture"><userLogin>user</userLogin></FindUser></soap:Body></soap:Envelope>'
$Headers = @{
'SOAPAction' = '"#FindUser"'
'Content-Type' = 'text/xml; charset=utf-8'
'Authorization' = "Basic $([System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$($user):$($password)")))"}
try
{
$response1 = Invoke-WebRequest -Uri $URL -Headers $Headers -Body $SOAPRequest -Method 'POST'
return $response1.Headers['AuthTicket']
}
catch{
Write-Line -str "Couldn't get 'AuthTicket': $_" -color "Red"
return ""
}
}
function Download-CSVReport($server, $tenant, $authTicket, $methodUri, $requestBody, $folder, $reportFileName)
{
$reportFullFilePath = Join-Path $folder $reportFileName
#Ordner geräuschlos erstellen (falls nicht vorhanden)
New-Item -ItemType Directory -Force -Path $folder | Out-Null
if ($authTicket -eq "" -or $authTicket -eq $null)
{
Write-Line -str "Couldn't get 'CSV-Report'" -color "Red"
}
else
{
$header = @{ "Accept" = "*/*"}
$session = [Microsoft.PowerShell.Commands.WebRequestSession]::new()
$session.Cookies.Add($server, [System.NET.Cookie]::new("FlexiCaptureTmpPrn$tenant", "Ticket=$authTicket"))
$tenantInUrl=""
if ($tenant -ne '') { $tenantInUrl = "/$tenant"}
$uri = Join-Uri $server $ServerSitePath | Join-Uri -child $tenantInUrl | Join-Uri -child $methodUri
try{
$response = Invoke-WebRequest -Uri $uri -Method 'POST' -Headers $header -WebSession $session -Body $requestBody -OutFile $reportFullFilePath -MaximumRedirection 0 -ErrorAction Ignore -PassThru
if ($response.StatusCode -lt 300)
{
Write-Line "CSV-Report done: $reportFullFilePath" "Green"
}
else
{
Write-Line -str "HttpStatus $($response.StatusCode) in getting CSV-Report." -color "Red"
}
}
catch{
Write-Line -str "Couldn't get CSV-Report: $_" -color "Red"
return ""
}
}
}
$authTicket = Get-AuthTicket -server $server -user $user -password $password -tenant $tenant
Download-CSVReport -server $server -tenant $tenant -authTicket $authTicket -methodUri $methodUri -requestBody $requestBody -folder $folder -reportFileName $reportFileName