Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Beantwortet
Einen neuen Vorgang via REST Api starten

Guten Tag,
wir möchten via REST Api einen neuen Vorgang starten. Allerdings gelingt es uns nicht aufgrund folgender Fehlermeldung:
Fehler beim Ausf�hren: Code - 400,Response: '{"errors":{"-":["The request could not be understood by the server due to malformed syntax. Syntax error"]}}'

  • Der User wurde vorher authentifiziert.
  • Das Script wurde aus der JR-Anleitung herauskopiert und angepasst.

Hat jemand Erfahrung mit Starten von Vorgängen und kann erkennen, was an dem Script nicht stimmt?
Vielen Dank im Voraus und viele Grüße
Krivosudsky Josef

Hier das Script:

//$mainFile = new CURLFile('https://jobrouterserver/jobrouter/data/testfile.pdf');

$inputData = [
'step' => '82',
'initiator' => 'REST',
'summary' => 'Vorgang gestartet ueber REST API',
'jobfunction' => 'TEST',
'processtable[fields][0][name]' => 'AUFTRAGSNUMMER',
'processtable[fields][0][value]' => '101020125',
//'processtable[fields][1][name]' => 'INVOICE_FILE',
//'processtable[fields][1][value]' => $mainFile,
];

curl_setopt($curlHandle, CURLOPT_URL,
'https://jobrouterserver/jobrouter/api/rest/v2/application/incidents/TEST');
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlHandle, CURLOPT_POST, 1);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $inputData);
curl_setopt($curlHandle, CURLOPT_COOKIEFILE, 'C://Temp/cookie.txt');
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curlHandle, CURLOPT_SSL_VERIFYPEER, 0);

$response = curl_exec($curlHandle);
$statusCode = curl_getinfo($curlHandle, CURLINFO_HTTP_CODE);

curl_close();

if ($statusCode == 200) {
$incidentData = json_decode($response, true);
echo "Incident: " . $incidentData['incidents'][0]['incidentnumber'] . "\n";
echo "Workflow-ID: " . $incidentData['incidents'][0]['workflowId'] . "\n";
} else {
echo "Fehler beim Ausführen: Code - " . $statusCode . ",";
echo "Response: " . var_export($response, true);
}

1
1
Gepostet vor 2 Jahren
Stimmen Neuste

Antworten 2


Für mich sieht der Code soweit in Ordnung aus, habe sogar zu Testzwecken diesen kopiert, die Authentifizierung hinzugefügt, einen Test Prozess erstellt und ich konnte den Prozess damit starten.

Wird im gleichen Script noch vorher noch ein anderer Aufruft mit dem gleichen curlhandle gemacht? dann fehlt eventuell dazwischen ein curl_reset($curlHandle);

Aber mal eine andere Frage, wird hier denn auch versucht einen Benutzerschritt zu starten?
Fall dies nicht der Fall ist, geht es leider nicht über die Rest API.

1
1
Gepostet vor 2 Jahren

Hallo Herr Kanehl,

vielen Dank für Ihre Antwort.

Ihr Hinweis war vollkommen richtig und hat das Problem gelöst. Jetzt funktioniert die Schnittstelle problemlos.

Vielen Dank und viele Grüße

1
1
Gepostet vor 2 Jahren
5K Ansichten
2 Antworten
vor 2 Jahren
vor 2 Jahren
Stichwörter