Hallo,
ich habe gerade ein Problem beim SYSTOOLS.URLENCODE festgestellt, wenn in meiner URL Leerzeichen vorkommen. Hier ist ein Beispiel:
Ich übergebe meinem REST-Webservice hier 2 Parameter (CODE1 und CODE2 mit den jeweiligen Werten). In CODE2 ist ein Leerzeichen vorhanden. Jetzt hätte ich eigentlich erwartet, dass dieses Leerzeichen in "%20" encodiert wird. Es wird aber in ein "+" encodiert und somit im Webservice als normales Pluszeichen interpretiert anstatt als Leerzeichen.Code:SELECT * FROM XMLTABLE('$doc/hibcData' PASSING XMLPARSE(DOCUMENT SYSTOOLS.HTTPGETCLOB ('http://ban:8080/webservices/hibc/code1/' concat systools.urlencode('+DIVO6676681', 'UTF-8') concat '/code2/' concat systools.urlencode('+$$3191208W00158 C', 'UTF-8'), '')) AS "doc" COLUMNS Lic VARCHAR(4) PATH 'lic', ProdNumber VARCHAR(18) PATH 'productNumber', ExpDate VARCHAR(8) PATH 'expiryDate', Lot VARCHAR(18) PATH 'lotNumber', Serial VARCHAR(18) PATH 'serialNumber', ProdDate VARCHAR(8) PATH 'productionDate', Unit VARCHAR(1) PATH 'unit', Quantity VARCHAR(5) PATH 'quantity' ) AS WebServiceResult;
Wie kann ich dieses Problem umgehen? In anderen Sprachen gibt es z.B. urlencode() für "+" und rawurlencode() für "%20".
Gruß,
KM
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks