====== XML-RPC: Zugriff auf Adressbuch ======
* Name des Service: **hibiscus.xmlrpc.address**
===== Schlüssel-Namen =====
^ Bezeichnung ^ Beschreibung ^
| name | Name des Konto-Inhabers |
| kontonummer | Kontonummer |
| blz | Bankleitzahl |
| kommentar | Kommentar (Freitext) |
| bic | BIC-Nummer (EU-BLZ) |
| iban | IBAN-Nummer (EU-Kontonummer) |
| kategorie | Kategorie (Freitext) |
===== Verfügbare Funktionen =====
==== Liste der Schlüsselnamen ermitteln ====
public Map createParams() throws RemoteException;
* Name der Funktion: **createParams**
* Liste der Parameter
* Rückgabe-Wert: **struct** Ein leeres Struct, welches lediglich die o.g. Schlüssel, jedoch noch keine Werte enthält. Das Struct kann als Vorlage für neue Adressen verwendet werden
==== Lesen von Adressen ====
public List
* Name der Funktion: **find**
* Liste der Parameter
- **String** Suchbegriff
* Rückgabe-Wert: **array** (Liste mit "struct"-Elementen)\\ Liste der gefundenen Adressen. Jedes Element der Liste enthält eine Adresse in Form eines Struct mit den o.g. Schlüsseln
=== Code-Beispiele ===
== Java ==
import java.util.Map;
Object[] list = (Object[]) client.execute("hibiscus.xmlrpc.address.find",new String[]{"mustermann"});
for (Object o:list)
{
Map address = (Map) o;
System.out.println("Name: " + address.get("name"));
System.out.println("Kto : " + address.get("kontonummer"));
System.out.println("BLZ : " + address.get("blz"));
}
== PHP ==
$msg = new xmlrpcmsg("hibiscus.xmlrpc.address.find",array(new xmlrpcval("mustermann","string")));
$response = $client->send($msg);
$value = $response->value();
for ($i=0;$i<$value->arraySize();$i++)
{
$address = $value->arrayMem($i);
print("Name: ".$address->structMem("name")->scalarVal()."\n");
print("Kto : ".$address->structMem("kontonummer")->scalarVal()."\n");
print("BLZ : ".$address->structMem("blz")->scalarVal()."\n");
}
==== Anlegen von Adressen ====
public String create(Map address) throws RemoteException;
* Name der Funktion: **create**
* Liste der Parameter
- **struct** Struct mit den Eigenschaften der Adresse. Als Schlüssel sind die o.g. Schlüssel-Namen zu verwenden.
* Rückgabe-Wert
* bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=true: **OK** = return NULL, **FEHLER** = return Fehlertext
* bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=false: **OK** = return ID, **FEHLER** = throws Exception
=== Code-Beispiele ===
== Java ==
import java.util.Map;
import java.util.HashMap;
Map address = new HashMap();
address.put("name","Max Mustermann");
address.put("kontonummer","1234567890");
address.put("blz","12345678");
Object result = client.execute("hibiscus.xmlrpc.address.create",new Object[]{address});
System.out.println(result);
== PHP ==
$address = new xmlrpcval(
array(
"name" => new xmlrpcval("Max Mustermann","string"),
"kontonummer" => new xmlrpcval("1234567890","string"),
"blz" => new xmlrpcval("12345678","string")
),"struct");
$msg = new xmlrpcmsg("hibiscus.xmlrpc.address.create",array($address));
$response = $client->send($msg);
print($response->value()->scalarval());
==== Ändern von Adressen ====
public String update(Map address) throws RemoteException;
* Name der Funktion: **update**
* Liste der Parameter
- **struct** Struct mit den Eigenschaften der Adresse. Als Schlüssel sind die o.g. Schlüssel-Namen zu verwenden. Das Struct **muss** einen Schlüssel mit dem Namen "id" enthalten, welcher als Wert die ID der zu ändernden Adresse enthält.
* Rückgabe-Wert
* bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=true: **OK** = return NULL, **FEHLER** = return Fehlertext
* bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=false: **OK** = return ID, **FEHLER** = throws Exception
=== Code-Beispiele ===
== Java ==
import java.util.Map;
import java.util.HashMap;
Map address = new HashMap();
address.put("id","13");
address.put("name","Max Mustermann");
address.put("kontonummer","1234567890");
address.put("blz","12345678");
Object result = client.execute("hibiscus.xmlrpc.address.update",new Object[]{address});
System.out.println(result);
== PHP ==
$address = new xmlrpcval(
array(
"id" => new xmlrpcval("13","string"),
"name" => new xmlrpcval("Max Mustermann","string"),
"kontonummer" => new xmlrpcval("1234567890","string"),
"blz" => new xmlrpcval("12345678","string")
),"struct");
$msg = new xmlrpcmsg("hibiscus.xmlrpc.address.update",array($address));
$response = $client->send($msg);
print($response->value()->scalarval());
==== Löschen von Adressen ====
public String delete(String id) throws RemoteException;
* Name der Funktion: **delete**
* Liste der Parameter
- **String** ID der zu löschenden Adresse
* Rückgabe-Wert
* bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=true: **OK** = return NULL, **FEHLER** = return Fehlertext
* bei [[develop:xmlrpc#null-support_aktivieren_deaktivieren|xmlrpc.supports.null]]=false: **OK** = return ID, **FEHLER** = throws Exception
=== Code-Beispiele ===
== Java ==
Object result = client.execute("hibiscus.xmlrpc.address.delete",new Object[]{"13"});
System.out.println(result);
== PHP ==
$msg = new xmlrpcmsg("hibiscus.xmlrpc.address.delete",array(new xmlrpcval("13","string")));
$response = $client->send($msg);
print($response->value()->scalarval());