Benutzer-Werkzeuge

Webseiten-Werkzeuge


develop:xmlrpc:init

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
develop:xmlrpc:init [d.m.Y H:i] – angelegt willuhndevelop:xmlrpc:init [d.m.Y H:i] – [PHP] willuhn
Zeile 1: Zeile 1:
-==== Beispiel-Code Java ==== 
  
-Das folgende Beispiel ermittelt die Liste der Konten aus Hibiscus. Sie benötigen hierzu das Modul [[http://ws.apache.org/xmlrpc/|Apache XML-RPC]]. Ersetzen Sie die Werte in spitzen Klammern (z.Bsp. “<Master-Passwort>”) gegen die von Ihnen genutzten Werte. 
- 
-<code java> 
-import java.net.URL; 
-import java.security.SecureRandom; 
-import java.security.cert.X509Certificate; 
- 
-import javax.net.ssl.HostnameVerifier; 
-import javax.net.ssl.HttpsURLConnection; 
-import javax.net.ssl.SSLContext; 
-import javax.net.ssl.SSLSession; 
-import javax.net.ssl.TrustManager; 
-import javax.net.ssl.X509TrustManager; 
- 
-import org.apache.xmlrpc.client.XmlRpcClient; 
-import org.apache.xmlrpc.client.XmlRpcClientConfigImpl; 
- 
- 
-public class Test 
-{ 
-  public static void main(String[] args) throws Exception 
-  { 
-    String url = "https://<Servername>:8080/xmlrpc/"; 
- 
-    // Client-Config erzeugen 
-    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl(); 
-    config.setBasicPassword(<Master-Passwort>); 
-    config.setBasicUserName("admin"); 
-    config.setServerURL(new URL(url)); 
- 
-    if (url.startsWith("https")) 
-      disableCertCheck(); 
-     
-    XmlRpcClient client = new XmlRpcClient(); 
-    client.setConfig(config); 
- 
-    Object[] lines = (Object[]) client.execute("hibiscus.xmlrpc.konto.list",null); 
-    if (lines == null) 
-      return; // Kein Ergebnis erhalten 
- 
-    for (int i=0;i<lines.length;++i) 
-    { 
-      System.out.println(lines[i]); 
-    } 
-  } 
- 
-  /** 
-   * Falls HTTPS aktiviert ist, muessen Sie entweder Java das Jameica-Zertifikat 
-   * (Datei->Einstellungen->Zertifikate) bekannt machen. Sie können es mit dem 
-   * bei SUN Java mitgelieferten Programm [[http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html|keytool]] 
-   * importieren oder (NUR ZU TESTZWECKEN!) die Zertifikats-Prüfung abschalten. 
-   * Die folgende Funktion tut dies. 
-   * @throws Exception 
-   */ 
-  private static void disableCertCheck() throws Exception 
-  { 
-    TrustManager dummy = new X509TrustManager() 
-    { 
-      public java.security.cert.X509Certificate[] getAcceptedIssuers(){return null;} 
-      public void checkClientTrusted (X509Certificate[] certs, String authType) {} 
-      public void checkServerTrusted(X509Certificate[] certs, String authType) {} 
-    }; 
-     
-    SSLContext sc = SSLContext.getInstance("SSL"); 
-    sc.init(null, new TrustManager[]{dummy}, new SecureRandom()); 
-    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); 
-    HostnameVerifier dummy2 = new HostnameVerifier() { 
-      public boolean verify(String host, SSLSession session) {return true;} 
-    }; 
-    HttpsURLConnection.setDefaultHostnameVerifier(dummy2);  
-  } 
-} 
-</code> 
- 
-==== Beispiel-Code Perl ==== 
- 
-Das folgende Beispiel ermittelt die Liste der Konten aus Hibiscus. Sie benötigen hierzu das CPAN-Modul [[http://search.cpan.org/dist/RPC-XML/|RPC::XML]]. Ersetzen Sie die Werte in spitzen Klammern (z.Bsp. "<Master-Passwort>") gegen die von Ihnen genutzten Werte. 
- 
-<code perl> 
-#!/usr/bin/perl 
- 
-use strict; 
-use RPC::XML; 
-use RPC::XML::Client; 
- 
-my $cli = RPC::XML::Client->new('https://<servername>:8080/xmlrpc/'); 
-$cli->credentials("XML-RPC","admin","<Master-Passwort>"); 
- 
-my $resp = $cli->send_request('hibiscus.xmlrpc.konto.list'); 
- 
-die("Keine Antwort vom Server erhalten") unless ($resp); 
-die("Fehler: ".$resp) unless (ref($resp)); # kein korrektes Response-Objekt 
- 
-my $konten = $resp->value; 
-for(@{$konten}) 
-{ 
-  print $_."\n"; 
-} 
-</code> 
- 
-Achtung: ''$resp->value'' liefert nicht das Array selbst sondern eine Referenz darauf. 
- 
- 
-Dieses Beispiel erstellt eine neue Lastschrift: 
- 
-<code perl> 
-#!/usr/bin/perl 
- 
-use strict; 
-use RPC::XML; 
-use RPC::XML::Client; 
- 
-my $cli = RPC::XML::Client->new('https://<servername>:8080/xmlrpc/'); 
-$cli->credentials("XML-RPC","admin","<Master-Passwort>"); 
- 
- 
-my @params = ( 
-  RPC::XML::string->new("1"),              # ID des Kontos 
-  RPC::XML::string->new("1234567890"),     # Kontonummer Gegenkonto 
-  RPC::XML::string->new("12345678"),       # BLZ des Gegenkontos 
-  RPC::XML::string->new("Max Mustermann"), # Inhaber Gegenkonto 
-  RPC::XML::string->new("Test"),           # Verwendungszweck 1 
-  RPC::XML::string->new(""),               # Verwendungszweck 2 (optional) 
-  RPC::XML::double->new(100.99),           # Betrag (Achtung - Punkt statt Komma!) 
-  RPC::XML::string->new(""),               # Termin im Format dd.mm.yyyy (optional) 
-  RPC::XML::string->new("05"             # Einzugsermaechtigung 
-); 
-my $resp = $cli->send_request('hibiscus.xmlrpc.lastschrift.create',@params); 
- 
-die("Keine Antwort vom Server erhalten") unless ($resp); 
- 
-if ($resp =~ /ex:nil/i) 
-{ 
-  # Auftrag erfolgreich angelegt, wenn NULL (= "ex:nil" in XML-RPC) 
-  # zurueckgeliefert wurde. 
-  print "Auftrag erfolgreich angelegt\n"; 
-} 
-else { 
-  print ref($resp)."\n"; 
-  die($resp->value); 
-} 
-</code> 
-==== Beispiel-Code PHP ==== 
- 
-Das folgende Beispiel ermittelt die Liste der Konten aus Hibiscus. Sie benötigen hierzu das PHP-Modul [[http://phpxmlrpc.sourceforge.net/|XML-RPC]]. Ersetzen Sie die Werte in spitzen Klammern (z.Bsp. “<Master-Passwort>”) gegen die von Ihnen genutzten Werte. 
- 
-<code php> 
-include("lib/xmlrpc.inc"); 
-$client = new xmlrpc_client("https://admin:<Master-Passwort>@<Servername>:8080/xmlrpc/"); 
-$client->setDebug(0); // alternativ auch "1" oder "2" 
- 
-// Wenn im folgenden Parameter "1" steht, müssen Sie vorher das SSL-Zertifikat aus 
-// Jameica exportieren (Datei->Einstellungen->Zertifikate), es anschliessend mit 
-// "openssl x509 -inform DES -in <datei>.crt -out outcert.pem -text" konvertieren und dann 
-// an "/usr/share/curl/curl-ca-bundle.crt" anhängen (Curl wird von PHP intern für 
-// HTTP-Kommunikation verwendet) 
-// Verwenden Sie "0", wenn der Hostname des Server-Zertifikats (Common-Name, CN) nicht geprüft werden soll. 
-$client->setSSLVerifyHost(1); 
- 
-// Aktiviert/deaktiviert die Prüfung des Server-Zertifikates. 
-$client->setSSLVerifyPeer(1); 
- 
-$msg = new xmlrpcmsg("hibiscus.xmlrpc.konto.list"); 
-$response = $client->send($msg); 
- 
-if (!response) 
-{ 
-  print("Keine Antwort vom Server erhalten\n"); 
-  exit(1); 
-} 
-if ($response->faultCode()) 
-{ 
-  print("Fehler. Code: ".$response->faultCode()." ".$response->faultString()."\n"); 
-  exit(1); 
-} 
- 
-$value = $response->value(); 
-$konten = $value->scalarval(); 
- 
-while ($konto = current($konten)) 
-{ 
-  print($konto->scalarval()."\n"); 
-  next($konten); 
-} 
-</code> 


Impressum | Datenschutz
develop/xmlrpc/init.txt · Zuletzt geändert: d.m.Y H:i von willuhn