PHP Handbuch
Zurück |  | Weiter

# SoapClient->__construct()

(no version information, might be only in CVS)

SoapClient->__construct() -- SoapClient-Konstruktor

## Beschreibung

class SoapClient {
__construct ( mixed wsdl [, array options] )
}

Der Konstruktor erzeugt ein SoapClient-Objekt im `WSDL`- oder `nicht-WSDL`-Modus.

## Parameter Liste

`wsdl`

  URI der `WSDL`-Datei oder `NULL` wenn der `nicht-WSDL`-Modus verwendet werden soll.

  > Anmerkung: Während der Entwicklung ist es sinnvoll das WSDL-Caching, definiert durch die `php.ini` Einstellung `soap.wsdl_cache_ttl`, zu deaktivieren, da sonst Änderungen an der WSDL-Datei erst Wirkung zeigen, sobald die `soap.wsdl_cache_ttl` erreicht wurde.

`options`

  Ein Array mit Optionen. Optional wenn der `WSDL`-Modus verwendet wird, sonst müssen die Werte `location` und `uri` gesetzt werden, wobei `location` die URL der Anfrage und `uri` der Zielnamensraum des SOAP-Service ist.

  Die `style` und `use` Optionen werden nur im `nicht-WSDL`-Modus verwendet. In `WSDL`-Modus werden diese von der WSDL-Datei geliefert.

  Die `soap_version` Option gibt vor, welche SOAP-Client-Version verwendet werden soll (SOAP 1.1 oder SOAP 1.2).

  Die Optionen `login` und `password` können für HTTP-Authentifizierung verwendet werden. Um eine Verbindung über einen Proxy-Server herzustellen, stehen die Optionen `proxy_host`, `proxy_port`, `proxy_login` und `proxy_password` zur Verfügung. Für Authentifizierung über HTTPS-Client-Zertifikate nutzen Sie die Optionen `local_cert` und `passphrase`.

  HTTP-SOAP-Anfragen und -Antworten können mit Hilfe von `compression` komprimiert werden.

  Die Option `encoding` definiert die intern verwendete Zeichenkodierung. Sie ändert nicht die Kodierung der SOAP-Anfrage selbst (die bleibt immer utf-8), es werden lediglich die Zeichenketten konvertiert.

  In der `classmap` Option können WSDL-Typen auf PHP-Klassen abgebildet werden. Die Option muß ein Array sein mit den WSDL-Typen als Schlüssel und den PHP-Klassennamen als Wert.

  Setzen der `trace` Option (boolean) aktiviert den Gebrauch der Methoden SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse und SoapClient->__getLastResponseHeaders.

  Die Option `exceptions` (boolean) definiert, ob bei SOAP-Fehlern Exceptions vom Typ SoapFault geworfen werden sollen.

  Zeitüberschreitung in Sekunden für Verbindungen zu einem SOAP-Service können mit der Option `connection_timeout` angegeben werden. Diese Option definiert keine Zeitüberschreitung für Dienste mit langsamen Antwortzeiten. Um zu definieren, wie lange auf die Beendung einer Anfrage gewartet werden soll, steht die Einstellung default_socket_timeout zur Verfügung.

## Beispiele

Beispiel 1. Beispiele

`<?php
$client = new SoapClient("some.wsdl");
$client = new SoapClient("some.wsdl", array('soap_version' => SOAP_1_2));
$client = new SoapClient("some.wsdl", array('login' => "some_name",
'password' => "some_password"));
$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost",
'proxy_port' => 8080));
$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost",
'proxy_port' => 8080,
'proxy_login' => "some_name",
'proxy_password' => "some_password"));
$client = new SoapClient("some.wsdl", array('local_cert' => "cert_key.pem"));
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/",
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL));
$client = new SoapClient("some.wsdl",
array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));
$server = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));
class MyBook {
public $title;
public $author;
}
$server = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));
?>`

Zurück | Zum Anfang | Weiter
SoapClient->__call() | Nach oben | SoapClient->__doRequest()