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
develop:xmlrpc:init [d.m.Y H:i] – angelegt willuhndevelop:xmlrpc:init [d.m.Y H:i] (aktuell) – [PHP] willuhn
Zeile 1: Zeile 1:
-==== Beispiel-Code Java ====+====== XML-RPC Verbindungsaufbau ======
  
-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.+Beispiel-Code für den Verbindungsaufbau via XML-RPC 
 + 
 +===== Java ===== 
 + 
 +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> <code java>
Zeile 37: Zeile 41:
     client.setConfig(config);     client.setConfig(config);
  
-    Object[] lines (Object[]) client.execute("hibiscus.xmlrpc.konto.list",null); +    Object result = client.execute("<Name der XML-RPC-Funktion>",<Parameter>);
-    if (lines == null) +
-      return; // Kein Ergebnis erhalten +
- +
-    for (int i=0;i<lines.length;++i) +
-    { +
-      System.out.println(lines[i]); +
-    }+
   }   }
  
Zeile 75: Zeile 72:
 </code> </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.+ 
 +===== Perl ===== 
 + 
 +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> <code perl>
Zeile 89: Zeile 88:
 $cli->credentials("XML-RPC","admin","<Master-Passwort>"); $cli->credentials("XML-RPC","admin","<Master-Passwort>");
  
-my $resp = $cli->send_request('hibiscus.xmlrpc.konto.list'); +my $resp = $cli->send_request('<Name der XML-RPC-Funktion>',<Parameter>);
- +
-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> </code>
  
-Achtung: ''$resp->value'' liefert nicht das Array selbst sondern eine Referenz darauf.+===== PHP =====
  
 +Sie benötigen hierzu das PHP-Modul [[http://phpxmlrpc.sourceforge.net/|XML-RPC]] sowie die PHP-Unterstützung für [[http://php.net/manual/de/book.curl.php|Curl]]. Ersetzen Sie die Werte in spitzen Klammern (z.Bsp. “<Master-Passwort>”) gegen die von Ihnen genutzten Werte.
  
-Dieses Beispiel erstellt eine neue Lastschrift:+<code php>
  
-<code perl> +include("lib/xmlrpc.inc");
-#!/usr/bin/perl+
  
-use strict; +// Ggf. ist es noetig, das Encoding explizit zu setzen, mit dem 
-use RPC::XML; +// die XML-RPC-Implementierung von PHP die Daten liest
-use RPC::XML::Client;+$GLOBALS['xmlrpc_internalencoding']='UTF-8';
  
-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 = new xmlrpc_client("https://admin:<Master-Passwort>@<Servername>:8080/xmlrpc/");
 $client->setDebug(0); // alternativ auch "1" oder "2" $client->setDebug(0); // alternativ auch "1" oder "2"
Zeile 163: Zeile 117:
 $client->setSSLVerifyPeer(1); $client->setSSLVerifyPeer(1);
  
-$msg = new xmlrpcmsg("hibiscus.xmlrpc.konto.list");+$msg = new xmlrpcmsg("<Name der XML-RPC-Funktion>",<Parameter>);
 $response = $client->send($msg); $response = $client->send($msg);
  
-if (!response) +// Ergebnis auswerten, z.Bsp.: 
-{ +print($response->value()->scalarval());
-  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(); +// Alternativ Fehlermeldung ausgeben 
-$konten = $value->scalarval();+print($response->faultString()); 
 +</code>
  
-while ($konto current($konten)) +===== Python ===== 
-{ + 
-  print($konto->scalarval()."\n"); + 
-  next($konten)+<code python> 
-}+ 
 + 
 +#!/usr/bin/env python 
 + 
 +import xmlrpclib 
 + 
 +class HibiscusSocket(object): 
 + 
 +  def __init__(self, password,xmlrpc_host="localhost",xmlrpc_port=8080,proto="https",username="admin"): 
 +   
 +    self.proto=proto 
 +    sock = xmlrpclib.ServerProxy ('%s://%s:%s@%s:%s/xmlrpc/' % ( 
 +        self.proto, username, password, xmlrpc_host, xmlrpc_port)) 
 +    self.sock = sock 
 + 
 +  def get_bank_name(self,blz): 
 +    return self.sock.hibiscus.xmlrpc.konto.getBankname(str(blz)
 +     
 +s = HibiscusSocket(password="secret123") 
 +bankname = s.get_bank_name(blz="37010050"# bankname sollte jetzt sein "Postbank"
 </code> </code>
 +


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