PHP Handbuch
Zurück |  | Weiter

# CLIII. SOAP Funktionen

# Einführung

Die SOAP Eweiterung kann zum Erstellen von SOAP Servern und Clients verwendet werden. Sie unterstützt Untermengen der SOAP 1.1, SOAP 1.2 und WSDL 1.1 Spezifikation.

# Anforderungen

Die Erweiterung verwendet die GNOME xml Bibliothek, die heruntergeladen und installiert werden muss. Es wird mind. die Version libxml-2.5.4 vorausgesetzt.

# Installation

Die Erweiterung ist nur verfügbar, wenn PHP mit der Option `--enable-soap` konfiguriert wurde.

# Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der `php.ini` beeinflusst.

Tabelle 1. SOAP Konfiguration Optionen

Name | Default | Änderbar | Kommentar
--- | --- | --- | ---
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Verfügbar seit PHP 5.0.0.

Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Anhang H.

Hier eine kurze Erklärung der Konfigurationsoptionen:

`soap.wsdl_cache_enabled` boolean

  Aktiviert oder deaktiviert das WSDL-Caching.

`soap.wsdl_cache_dir` string

  Systempfad in dem die SOAP-Erweiterung die Cache-Dateien speichern soll.

`soap.wsdl_cache_ttl` int

  Dauer in Sekunden (time to live) für die die Cache-Dateien anstelle der originalen verwendet werden sollen.

# Vordefinierte Klassen

## SoapClient

### Konstruktor

- SoapClient->__construct() - Erzeugt ein neues SoapClient-Objekt

### Methoden

- SoapClient->__call() - Aufruf einer SOAP-Funktion (deprecated)

- SoapClient->__doRequest() - Ausführen einer SOAP-Anfrage

- SoapClient->__getFunctions() - Gibt eine Liste der SOAP-Funktionen zurück

- SoapClient->__getLastRequest() - Gibt letzte SOAP-Anfrage zurück

- SoapClient->__getLastRequestHeaders() - Gibt letzten SOAP-Anfrage-Header zurück

- SoapClient->__getLastResponse() - Gibt letzte SOAP-Antwort zurück

- SoapClient->__getLastResponseHeaders() - Gibt letzten SOAP-Antwort-Header zurück

- SoapClient->__getTypes() - Gibt liste der SOAP-Typen zurück

- SoapClient->__setCookie() - Setzt Cookie, der bei SOAP-Anfragen genutzt wird

- SoapClient->__soapCall() - Aufruf einer SOAP-Funktion

## SoapFault

### Konstruktor

- SoapFault->__construct() - Erzeugen eines neuen SoapFault-Objekts

## SoapHeader

SoapHeader ist eine spezielle low-level-Klasse zum Austausch von SOAP-Headern. Sie besitzt keine Methoden neben dem Konstruktor und dient als reiner Datenhalter. Sie kann in Verbindung mit der SoapClient->__soapCall()-Methode verwendet werden, um einen SOAP-Header zu übergeben oder um in einem SOAP-Header-Handler den Header in einer SOAP-Antwort zurückzugeben.

### Konstruktor

- SoapHeader->__construct() - Erzeugen eines neuen SoapHeader-Objekts

## SoapParam

SoapParam ist eine spezielle low-level-Klasse zum Benennen von Parametern und zum Zurückgeben von Werten im `nicht-WSDL`-Modus. Sie besitzt keine Methoden neben dem Konstruktor und dient als reiner Datenhalter.

### Konstruktor

- SoapParam->__construct() - Erzeugen eines neuen SoapParam-Objekts

## SoapServer

### Konstruktor

- SoapServer->__construct() - Erzeugen eines neuen SoapServer-Objekts

### Methoden

- SoapServer->addFunction() - Eine oder mehrere Funktionen hinzufügen, die die SOAP-Anfragen bearbeiten

- SoapServer->fault() -

- SoapServer->getFunctions() - Gibt eine Liste der definierten Funktionen zurück

- SoapServer->handle() - Behandelt eine SOAP-Anfrage

- SoapServer->setClass() - Setzen einer Klasse, die die SOAP-Anfragen bearbeitet

- SoapServer->setPersistence() - Setzen des Persistenz-Modus eines SoapServers

## SoapVar

SoapVar ist eine spezielle low-level-Klasse zum Kodieren von Parametern und Rückgabewerten im `nicht-WSDL`-Modus. Sie besitzt keine Methoden neben dem Konstruktor und dient als reiner Datenhalter. Sinnvoll ist der Einsatz wenn Typ-Eigenschaften in SOAP-Anfragen oder -Antworten gesetzt werden muss.

### Konstruktor

- SoapVar->__construct() - Erzeugen eines neuen SoapVar-Objekts

# Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

`SOAP_1_1` (integer)

`SOAP_1_2` (integer)

`SOAP_PERSISTENCE_SESSION` (integer)

`SOAP_PERSISTENCE_REQUEST` (integer)

`SOAP_FUNCTIONS_ALL` (integer)

`SOAP_ENCODED` (integer)

`SOAP_LITERAL` (integer)

`SOAP_RPC` (integer)

`SOAP_DOCUMENT` (integer)

`SOAP_ACTOR_NEXT` (integer)

`SOAP_ACTOR_NONE` (integer)

`SOAP_ACTOR_UNLIMATERECEIVER` (integer)

`SOAP_COMPRESSION_ACCEPT` (integer)

`SOAP_COMPRESSION_GZIP` (integer)

`SOAP_COMPRESSION_DEFLATE` (integer)

`SOAP_WAIT_ONE_WAY_CALLS` (integer)

  Hinzugefügt in PHP 5.1.0

`UNKNOWN_TYPE` (integer)

`XSD_STRING` (integer)

`XSD_BOOLEAN` (integer)

`XSD_DECIMAL` (integer)

`XSD_FLOAT` (integer)

`XSD_DOUBLE` (integer)

`XSD_DURATION` (integer)

`XSD_DATETIME` (integer)

`XSD_TIME` (integer)

`XSD_DATE` (integer)

`XSD_GYEARMONTH` (integer)

`XSD_GYEAR` (integer)

`XSD_GMONTHDAY` (integer)

`XSD_GDAY` (integer)

`XSD_GMONTH` (integer)

`XSD_HEXBINARY` (integer)

`XSD_BASE64BINARY` (integer)

`XSD_ANYURI` (integer)

`XSD_ANYXML` (integer)

  Hinzugefügt in PHP 5.1.0.

`XSD_QNAME` (integer)

`XSD_NOTATION` (integer)

`XSD_NORMALIZEDSTRING` (integer)

`XSD_TOKEN` (integer)

`XSD_LANGUAGE` (integer)

`XSD_NMTOKEN` (integer)

`XSD_NAME` (integer)

`XSD_NCNAME` (integer)

`XSD_ID` (integer)

`XSD_IDREF` (integer)

`XSD_IDREFS` (integer)

`XSD_ENTITY` (integer)

`XSD_ENTITIES` (integer)

`XSD_INTEGER` (integer)

`XSD_NONPOSITIVEINTEGER` (integer)

`XSD_NEGATIVEINTEGER` (integer)

`XSD_LONG` (integer)

`XSD_INT` (integer)

`XSD_SHORT` (integer)

`XSD_BYTE` (integer)

`XSD_NONNEGATIVEINTEGER` (integer)

`XSD_UNSIGNEDLONG` (integer)

`XSD_UNSIGNEDINT` (integer)

`XSD_UNSIGNEDSHORT` (integer)

`XSD_UNSIGNEDBYTE` (integer)

`XSD_POSITIVEINTEGER` (integer)

`XSD_NMTOKENS` (integer)

`XSD_ANYTYPE` (integer)

`SOAP_ENC_OBJECT` (integer)

`SOAP_ENC_ARRAY` (integer)

`XSD_1999_TIMEINSTANT` (integer)

`XSD_NAMESPACE` (string)

`XSD_1999_NAMESPACE` (string)

Zurück | Zum Anfang | Weiter
snmpwalkoid | Nach oben | is_soap_fault