WSV
PEGELONLINE PEGELONLINE Webservices PEGELONLINE

PEGELONLINE Webservice-Archiv User's Guide

Verwendung von PEGELONLINE Webservice-Archiv

in einer beliebigen Systemumgebung
in einer Java-Umgebung
in einer PHP-Umgebung

Verwenden von PEGELONLINE Webservice-Archiv in einer beliebigen Systemumgebung

Verwenden Sie die WSDL von PEGELONLINE Webservice-Archiv, um in Ihrer Systemumgebung eine Clientschnittstelle zu erzeugen. Es gibt viele Web Service Frameworks, mit denen meist über die WSDL, Quellcode in der jeweiligen Programmiersprache erzeugt wird. Sie können so entfernte Aufrufe machen, ohne sich um die Erstellung von SOAP-XML kümmern zu müssen. Vorraussetzung ist natürlich immer, dass Ihre Anwendung über HTTP Port 80 Zugang zum Internet hat.

Da PEGELONLINE Webservice-Archiv nur über SSL verwendet werden kann, muss der Client für den Aufbau von SSL Verbindungen konfiguriert werden. Siehe dazu die allgemeinen Hinweise zu SSL in der Dokumentation von PEGELONLINE Webservice-Archiv.

Weiterhin muss der Client bei Verwendung der Authentifizierung von PEGELONLINE Webservice-Archiv für HTTP Basic Authentication konfiguriert werden.

Verwenden von PEGELONLINE Webservice-Archiv in einer Java-Umgebung

Wenn Sie PEGELONLINE Webservice-Aktuell in einer Java-Umgebung verwenden werden, so können Sie optional auch unsere bereits erstellten Client-Schnittstellen benutzen. Sie können wahlweise eine Schnittstelle basierend auf dem Java Webservice Developer Pack 2.0 (JWSDP) oder Apache Axis 1.4 verwenden. Vorraussetzung ist eine Java Runtime Environment ab Version 1.5.

Downloaden Sie im ersten Schritt eines der beiden ZIP-Archive.
Entpacken Sie das jeweilige Archiv und legen Sie alle dort enthaltenden Bibliotheken im Klassenpfad ab. Neben den erforderlichen Bibliotheken für JWSDP oder AXIS befindet sich in dem Archiv auch die eigentliche Clientimplementation in der jar-Datei pegelonlinewebservice_v2_3_axis|jwspd.jar. Innerhalb dieser jar-Datei ist auch der Quellcode enthalten, der durch JWSDP bzw. Apache AXIS erzeugt wurde.

Sie können eine einfache Abfrage mit folgendem Codefragement durchführen. Der Quellcode ist überwiegend identisch für JWSDP und Apache AXIS, allerdings residieren die verwendeten Typen in unterschiedlichen Java-Packages.

Die Registrierung der BAW SSL-Zertifikate wird über den mitgelieferten keystore in der ersten Zeile über den Systemproperty 'javax.net.ssl.trustStore' geleistet. Wird bereits ein anderer default-keystore in der Client-Anwendung verwendet, so müssen die BAW-Zertifikate diesem hinzugefügt werden und das Setzen der Systemproperties in der unten stehenden Form sollte entfallen.


		public static void main(String[] args) throws Exception {
		 //Muss ggf. bei Verwendung eines Proxyservers für den Zugriff aufs Internet spezifiziert werden
		 //System.setProperty("http.proxyHost", "meinproxyhost");
		 //System.setProperty("http.proxyPort", "8080");
		 
		 //Keystore mit BAW-Zertifikaten für SSL registrieren
		 //Zweites Argument muss gültiger Pfad sein, hier muss keystore-Datei
		 //im file-root liegen, also zum Beispiel im Projekt-Root der IDE
		 System.setProperty("javax.net.ssl.trustStore", "webservice_archiv_keystore");
		
		 //Initialisierung der Verbindung und Beschaffung der Service-Schnittstelle über JWSDP
		 PegelonlineWebserviceArchiv_PortType port = 
		  new PegelonlineWebserviceArchiv_Service_Impl().getPegelonlineWebserviceArchivSOAP();
		
		 //Initialisierung der Verbindung und Beschaffung der Service-Schnittstelle über Apache Axis
		 //PegelonlineWebserviceArchiv_PortType port = 
		 // new PegelonlineWebserviceArchiv_ServiceLocator().getPegelonlineWebserviceArchivSOAP();
		
		 //Abfrage getZeitreihenInfo anonym verwenden
		 ZeitreiheInfo[] infos = port.getZeitreihenInfo("RHEIN", -9999, -9999, null, null, -9999);
			
		 //Ausgabe der Messstellen der ZeitreiheInfos
		 for (int i = 0; i < infos.length; i++) {
		  System.out.println(
		   (i+1) + ". ZeitreiheInfo: " + 
		   infos[i].getMessstelle().getNummer() + ", " +
		   infos[i].getParameter().getNameLang() + ", " +
		   infos[i].getZeitebene().getNameSend());
		 }
		
		 //Abfrage getZeitreihenData für Messstelle Köln mit Authentifizierung verwenden
		 //Dies sind nur Dummy-Werte und werden daher von Pegelonline Webservice-Archiv abgewiesen
		 ((javax.xml.rpc.Stub) port)._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "meinLoginname");
		 ((javax.xml.rpc.Stub) port)._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "meinPasswort");
			
		 ZeitreiheData[] data = port.getZeitreihenData(
		  "2730010", "W", 1, new GregorianCalendar(1981, 6, 1), new GregorianCalendar(1981, 6, 3));
		
		 //Ausgabe der Daten
		 for (int i = 0; i < data.length; i++) {
		  System.out.println((i+1) + ". ZeitreiheData: " + data[i].getWert());
		 }
		}
		


Verwenden von PEGELONLINE Webservice-Archiv in einer PHP-Umgebung

Für PHP ab Version 5 kann eine API (Application Programming Interface) kostenlos heruntergeladen werden, welche die Initialisierung und Abfrage von PEGELONLINE Webservice-Archiv in PHP vereinfacht und illustriert. PEGELONLINE Webservice-Archiv kann nur über SSL und optional mit Authentifzierung genutzt werden. Näheres dazu in der Dokumentation.
Die API verwendet die PHP SOAP-Extension. Folgende Vorraussetzungen müssen erfüllt sein, um die API zu benutzen:
Für ältere PHP Version kann alternativ auch PEAR oder NuSOAP für PEGELONLINE Webservice-Archiv verwendet werden. Hierfür stellen wir allerdings keine API zur Verfügung.
nach oben