SoapClient->__construct()
(No version information available, might be only in CVS)
SoapClient->__construct() — SoapClient-Konstruktor
Beschreibung
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.
Hinweis: 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
Example#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' => "https://localhost/soap.php",
'uri' => "https://test-uri/"));
$client = new SoapClient(null, array('location' => "https://localhost/soap.php",
'uri' => "https://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")));
?>