PDA

View Full Version : WebService: URI-Pfadvorlage für die Methode



tarkusch
25-05-21, 16:08
Hallo Liebes Forum,

ich habe eine Abfrage wo die entryid wie folgt aussieht:
AUT-E-99+ABT+20210521+1200+0-1504-0

leider bekomme ich da einen: HTTP ERROR 404
Welche URI-Pfadvorlage müsste ich nehmen?
Ich nehme an die +- machen Probleme.




<tbody>
Resource information for methods


Prozedurnamen:
TRANSICSMSG01


HTTP-Anforderungsmethode:
GET


URI-Pfadvorlage für die Methode:
{entryid: \w+}


Ausgabeparameter für HTTP-Antwortcode:
*NONE


Ausgabeparameter für HTTP-Header-Array:
*NONE


HTTP header information:
*NONE


Error response output parameter:



Zulässige Eingabemedientypen:
*ALL


Zurückgegebene Ausgabemedientypen:
*JSON


Identifier for input wrapper element:
transicsmsg01Input


Identifier for input wrapper element:
transicsmsg01Result

</tbody>

<tbody>

<tbody>
Eingabeparameterzuordnungen:



<tbody>

<tbody>
Parametername
Datentyp
Eingabequelle
Kennung
Standardwert


entryId
char
*PATH_PARAM
entryid
*NONE

</tbody>


</tbody>




<tbody>

</tbody>


</tbody>


</tbody>


Gruß

Tarki

Fuerchau
25-05-21, 16:24
Da musst du einen Url-Encoder verwenden:
https://meyerweb.com/eric/tools/dencoder/

Beispiel:
AUT-E-99%2BABT%2B20210521%2B1200%2B0-1504-0

tarkusch
25-05-21, 18:05
Hallo Fürchau,

das ist leider Neuland für mich.
Wie kann ich den Url-Encoder verwenden.

Ich stehe voll Blank da, könnten Sie mir Links empfehlen bzw. Literartur wo ich mich einlesen kann?

Dank im Voraus

camouflage
25-05-21, 18:16
Hallo Tarkusch,

möglicherweise wirst Du in Scott Klements HTTPAPI Lib fündig. Dem ist die Problematik nicht unbekannt, hab es aber nur kurz überflogen ...

tarkusch
25-05-21, 18:35
Danke,
dachte das ich im Srv-Pgm das mit Sql lösen könnte.
Aber der Fehler ist wieder : HTTP ERROR 404



wwBuffer = entryId;
Exec SQL
Set :wwBuffer = systools.urlencode(:wwBuffer, 'UTF-8');

dschroeder
04-06-21, 10:11
Hallo Tarkusch

Wenn ich das richtig verstehe, schreibst du einen Webservice. Dann bekommst du den Wert ja rein. Das heißt, du muss den Wert nicht encoden sondern decoden. Also systools.urldecode verwenden.