[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360

    WebSerivice regular expression

    Liebe Rpg-Community,

    ich bin noch nicht sattelfest mit Web-Services.


    http://xxx.yyy.com:10xxx/web/service...106782-1627114

    Sobald ein Bindestrich im Parameter TRPID ist bekomme ich:

    Diese abc.abc.com-Seite wurde nicht gefunden
    Für folgende Webadresse wurde keine Webseite gefunden: http://abc.abc.com:10xxx/web/services/trpTID/AUT/10106782-1627114
    HTTP ERROR 404

    Meine Angaben im WebService sind:
    PHP-Code:
    URI-Pfadvorlage für die Methode: {TENANT: \w+}/{TRPID: \w+} 
    Code:
    Parametername   Datentyp   Eingabequelle     Kennung      Standardwert
    TENANT              char          *PATH_PARAM    TENANT        *NONE          
    TRPID               char          *PATH_PARAM    TRPID         *NONE
    Dachte mit regular expression w+ steht für char und das würde alle Zeichen abdecken.

    Welchen Regex sollte ich verwenden?

    Liebe Grüße

    Tarki

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Bestimmte Zeichen bei URL's müssen in der %-Schreibweise des ASCII-Codes übergeben werden.
    Das Minus wäre dann "....%2D....."
    Suche mal nach einer Funktion "UrlEncode", ob du die irgendwo hast.

    \W+ steht für Worte, die durch Whitespace (Blank, Tab, Cr, LF) getrennt sind.
    "ABC XXX-YYY DEF"
    ergibt also 3 Worte.
    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 2009
    Beiträge
    67
    Das Minus-Zeichen muss nicht kodiert werden. Es gehört zu den Safe Characters in einer URL:

    Thus, only alphanumerics, the special characters "$-_.+!*'(),", and
    reserved characters used for their reserved purposes may be used
    unencoded within a URL.

    Siehe RFC 1738

  4. #4
    Registriert seit
    Nov 2020
    Beiträge
    331
    Das mit dem Bindestrich passt.
    Bei "AA BB-CC DD" bekommst du mit (\w+) 4 Ergebnisse/Wörter zurück.
    Ich verstehe jedoch nicht genau wo das Problem liegt.
    Welchen Suchtext genau hast du und wie gehst du suchen?
    Und wie steht die Regex-Suche in Verbindung mit dem HTTP Error?

    lg Andreas

  5. #5
    Registriert seit
    Jan 2007
    Beiträge
    905
    Stimmt denn die ganze URI, vor den Bindestrich Expressions?
    kf

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    U.U. ist die Trennung der Bindestrichwerte auch ein "/".
    Bespiel:
    1 Wert: https://hbl.fmp.sportradar.com/feeds...ndings/5514995
    2 Werte: https://hbl.fmp.sportradar.com/feeds...ures/149/55149

    Das kann dir aber nur der Anbieter sagen.
    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

  7. #7
    Registriert seit
    Apr 2012
    Beiträge
    360
    Danke Vielmals für euere Antworten,
    Das Problem ist das ein Externes Pgm uns eine ID schickt die meist ein Integer ist.
    Aber es kann sein das diese ID zusammengesetzt ist, dh. der Bindestrich.

    Ich habe das so gelöst das es nun 2 Parameter sind und ich im Rpg im Bedarfsfall mit einem Bindestrich zusammensetzte.

    Die URI stimmt, da ich es ohne Bindestriche Ergebnisse bekomme

  8. #8
    Registriert seit
    Nov 2020
    Beiträge
    331
    Habe das Problem immer noch nicht verstanden.
    Damit du im Regex die Zahl mit Bindestrich als 1 Ergebnis bekommst kannst du folgendes Pattern verwenden:
    [0-9-]+
    0 bis 9 und zusätzlich Bindestrich

    lg Andreas

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Also klappts nun oder klappts nicht?
    Normalerweise kann man die Urls per Browser einfach testen und sich die Ergebnisdaten dann ansehen.
    Somit weiß man dann wie die Url auszusehen hat.
    Ich glaube, mit RegEx hat dein Problem ursächlich nichts zu tun, oder?
    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

  10. #10
    Registriert seit
    Apr 2012
    Beiträge
    360
    Sorry, Jahresende ist es ein wenig stressig.
    Danke für eure Bemühungen ich habe es jetzt auf 2 Parametern gesplittet und es klappt.

    Weiters werde ich nach den Feiertagen auf jeden Fall das Pattern von Andreas auch ausprobieren [0-9-]+.

    In diesem Sinne schöne besinnliche friedliche und erholsame Feiertage an euch alle.

    Ich danke aufrichtig an die tolle Unterstützung hier.

    Liebe Grüße


Similar Threads

  1. SQL regular expression
    By mk in forum NEWSboard Programmierung
    Antworten: 17
    Letzter Beitrag: 27-03-17, 13:26

Tags for this Thread

Berechtigungen

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