View Full Version : SYSTOOLS / HTTPGETBLOB Verhalten
Rainer Ross
20-12-17, 15:39
Ich hab 7.2, bei mir läuft es einwandfrei
values SYSTOOLS.HTTPGETCLOB('http://api.geonames.org/countryInfo?lang=it&country=DE&username=demo&style=full','');
Rainer Ross
20-12-17, 15:42
Schau mal ob das bei dir läuft
SELECT mapinfo.Latitude, mapinfo.Longitude FROM
XMLTABLE('GeocodeResponse/result/geometry/location' PASSING
XMLPARSE(DOCUMENT SYSTOOLS.HTTPGETCLOB(
'https://maps.googleapis.com/maps/api/geocode/xml?address=' concat
systools.urlencode('Schmalholzstraße 27, 86916 Kaufering','UTF-8') concat
'&components=country:DE',''
))
COLUMNS
Latitude VARCHAR(20) PATH 'lat',
Longitude VARCHAR(20) PATH 'lng')
Mapinfo;
Zerberus77
20-12-17, 19:46
Hallo Bratmaxxe,
die Meldung "Ein ferner Host antwortete nicht innerhalb des Zeitlimits." bedeutet, dass die TCP Verbindung zum Ziel nicht hergestellt werden kann. Möglicherweise ein fehlender Leitweg oder die Firewall blockiert das.
Eher kein PTF Problem.
MFG Zerberus
Hallo Rainer,
läuft nicht - Fehler wie folgt:
S1000(-4304)[IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL4304 - Die gesp. Java-Proz. oder benutzerdef. Funktion URLENCODE mit dem spez. Namen URLENCODE konnte Java-Klasse com/ibm/db2/rest/DB2UDFWrapper wegen Ursachencode 1 nicht laden. (1,41 secs)
@Zerberus77: Ja, weil unsere AS/400 nicht nach draußen telefonieren darf - der Webservice den ich aufrufe läuft im lokalen LAN ;)
Gruß
Maxxe
manuel.marcos
21-12-17, 08:00
Hallo Bratmaxxe,
wie hast du das mit der CCSID gelöst? CHGJOB oder CAST?
Habe gerade ein ähnliches Problem.. Mit CAST erhalte ich weiterhin die Meldung bzgl. CCSID (auch wenn ich die URL als UCS2 deklariere, mit CHGJOB funtioniert es. Würde es aber lieber mit einem CAST lösen können...
Gruß,
Manuel
Hallo Manuel,
habe mir eine Prozedur gebaut, die vorher einige QCMDEX ausführt:
CALL QCMDEXC('ADDENVVAR ENVVAR(JAVA_HOME) VALUE(''/QOpenSys/QIBM/ProdData/JavaVM/jdk60/64bit'') REPLACE(*YES)');
CALL QCMDEXC('ADDENVVAR ENVVAR(QIBM_JAVA_PROPERTIES_FILE) VALUE(''/QIBM/userdata/java400/ws.properties'') REPLACE(*YES)');
und natürlich - geht leider nicht anders:
CALL QCMDEXC('CHGJOB CCSID(273))';
In den Properties ist noch folgendes eingestellt:
CALL QCMDEXC('QSH CMD(''touch -C 1252 /qibm/userdata/java400/ws.properties;echo com.ibm.cacheLocalHost=true >> /qibm/userdata/java400/ws.properties;echo java.net.preferIPv4Stack=true >> /qibm/userdata/java400/ws.properties;
echo java.net.preferIPv6Addresses=false >> /qibm/userdata/java400/ws.properties'')');
Mit aktiviertem IPV6 ist das Laufzeitverhalten unterirdisch, darum wird IPV4 "preferred".
Gruß
Maxxe