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
Nächste ÜberarbeitungBeide Seiten der Revision
develop:xmlrpc:init [d.m.Y H:i] – angelegt willuhndevelop:xmlrpc:init [d.m.Y H:i] – Python hinzugefuegt kwmiebach
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. 
- 
-<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. 
  
 +===== Perl =====
  
-Dieses Beispiel erstellt eine neue Lastschrift:+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 116: Zeile 88:
 $cli->credentials("XML-RPC","admin","<Master-Passwort>"); $cli->credentials("XML-RPC","admin","<Master-Passwort>");
  
 +my $resp = $cli->send_request('<Name der XML-RPC-Funktion>',<Parameter>);
 +</code>
  
-my @params +===== PHP =====
-  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.+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.
  
 <code php> <code php>
Zeile 163: Zeile 111:
 $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.txt · Zuletzt geändert: d.m.Y H:i von willuhn