[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    %61 wird als "a" durchgereicht. Grundsätzlich klappt das mit den Escape Characters. Nur der Slash macht Probleme.
    Ich werde das auf Query Parameter umstellen.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Letztlich wird dadurch aber trotzdem wieder ein verbotener "/" für Pfadangaben, da dieser nicht "escaped" werden kann.
    Nicht zu verwecheln mit URL-Parametern bei einem Web-Aufruf. Da kann man alles mit %xx übergeben um eben Sonderzeichen wie ?, =, % usw. im Query-Parameter zu ermöglichen. Dieise Zeichen werden erst nach der Analyse eines Query zurück gewandelt.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    So, ich kann jetzt Erfolg vermelden.
    Ich habe einen weiteren Endpunkt eingebaut, der die bisherigen Path-Parametern als Query-Parameter empfängt. Jetzt klappt das ganze wunderbar einschließlich eines (per %2F escapten) Slash.

    Vielen Dank für eure Antworten!

    LG, DIeter

  4. #4
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Vielleicht geht noch ...%252F... oder ...%2561... im Pfad?

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    1.199
    Zitat Zitat von Pikachu Beitrag anzeigen
    Vielleicht geht noch ...%252F... oder ...%2561... im Pfad?
    Das sieht gar nicht so schlecht aus: Wenn ich %252F übergebe, geht kommt die Zeichenkette %2F in meinem RPG-Programm an. Das müsste dann noch unescaped werden.
    Wenn ich das richtig verstehe, escapest du damit das Prozentzeichen.

    Es ist etwas merkwürdig, dass die Java-Anwendung, die meinen Webservice nutzt, nicht diese Art des Escapings benutzt. Die Java Kollegen werden ja normalerweise irgendwelche Standard-Escapes benutzten.

    Vielen Dank für deine Lösung!

    Ich habe mein Programm allerdings schon auf Query-Parameter umgebaut.
    Aber ich behalte es mal im Hinterkopf für das nächste Mal.

    LG, Dieter

  6. #6
    Registriert seit
    Nov 2020
    Beiträge
    418
    Zitat Zitat von dschroeder Beitrag anzeigen
    Es ist etwas merkwürdig, dass die Java-Anwendung, die meinen Webservice nutzt, nicht diese Art des Escapings benutzt. Die Java Kollegen werden ja normalerweise irgendwelche Standard-Escapes benutzten.
    Das ist eben kein Standard-Escape. Standard würde bedeuten, dass du sowohl Cleint- als auch Server-Seitig nichts machen musst, da dass die Framworks automatisch übersetzen.

    Die beschriebene Lösung ist am Ende nichts anderes als das was Baldur zuvor geschrieben hat, dass du ein Ersatzzeichen verwendest, dass du dann am Server ja wieder manuell zurück wandeln musst.
    Es ist halt so, dass ein / nicht als Wert in der URL übergeben werden darf. Hierfür würde ich ebenfalls den Weg über den Query-Parameter oder POST gehen.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Auch in Java sollte es Funktionen wie Url.Encode(), Url.Decode() geben, die eben einen Web-Url automtisch umwandeln. Beim Encode automatisch alles was als Web-Adresse erscheinen könnte in %xx, beim Decode dann entsprechend zurück.
    Manuell ist das deshalb erforderlich, da jedes Element explizit encoded werden muss.

    Z.B. www.mywebapi.de/function?p1=bala/bala&p2=blabla

    Machst du einen Encode über alles werden /.?=& alle in %xx gewandelt, was dann keine Url ergibt.
    Du benötigs also einen Encode nur für "bala/bala".
    Ich habe mir das angewöhnt für alle Parameterwerte einen Encode aufzurufen.

    Leider wird das nicht automtisch gemacht sondern der Absender muss es aktiv tun, der Web-Server muss es ebenso tun. Wobei in .Net eine Lib-Funktion zum Trennen der Url von den Query-Parametern und Splitten in Key-Value-Pairs vorhanden ist.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. CPYTOIMPF mit Zeichenfelder die nur nummerische Zeichen enthalten
    By CHGVAR in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 14-06-17, 16:15
  2. SQL: Anzahl Spalten die einen Wert enthalten -pro Datensatz
    By ExAzubi in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 13-08-15, 08:46
  3. Antworten: 2
    Letzter Beitrag: 02-05-14, 08:42
  4. Wiederverwendbarer ODP (Open Data Path)
    By ThiloSiemon in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-09-03, 08:51
  5. QSYSOPR darf nicht mit OpNav
    By Gattringer in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 30-11-01, 09:55

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •