SoapClient::SoapClient
(PHP 5, PHP 7)
SoapClient::SoapClient — SoapClient-Konstruktor
Beschreibung
Der Konstruktor erstellt SoapClient-Objekte im WSDL- oder non-WSDL-Modus.
Parameter-Liste
-
wsdl
-
URI der WSDL-Datei oder
NULL
, wenn der non-WSDL-Modus verwendet werden soll.Hinweis:
Während der Entwicklung sollte das WSDL-Caching durch die Verwendung der soap.wsdl_cache_ttl-Option in der php.ini ausgeschaltet werden. Andernfalls wirken sich Änderungen an der WSDL-Datei erst aus, wenn soap.wsdl_cache_ttl abgelaufen ist.
-
options
-
Ein Array aus Optionen. Wenn im WSDL-Modus gearbeitet wird, ist dieser Parameter optional. Im non-WSDL-Modus müssen die Optionen location und uri gesetzt sein. Dabei enthält location den URL des SOAP-Servers, an den die Anfrage gesendet werden soll, und uri den Zielnamensraum des SOAP-Dienstes.
Die Optionen style und use funktionieren nur im non-WSDL-Modus. Im WSDL-Modus werden sie durch das WSDL-File bestimmt.
Die Option soap_version sollte entweder
SOAP_1_1
oderSOAP_1_2
sein, um SOAP 1.1 bzw. 1.2 zu wählen. Wird sie ausgelassen, wird 1.1 verwendet.Die Optionen login und password können verwendet werden, um Daten für die HTTP-Authentifizierung zu übergeben. 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. Eine Authentifizierung kann in der authentication-Option mit Werten befüllt werden. Die Authentifizierungsmethode kann dabei entweder
SOAP_AUTHENTICATION_BASIC
(Standardvorgabe) oderSOAP_AUTHENTICATION_DIGEST
sein.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.
Die trace-Option schaltet das Tracing von Anfragen ein. Damit können Fehler zurückverfolgt werden. Der Standardwert ist
FALSE
.Die classmap-Option kann verwendet werden, um WSDL-Typen auf PHP-Klassen abzubilden. Die Option muss ein Array mit den WSDL-Typen als Schlüssel und den PHP-Klassennamen als Wert sein.
Das Setzen der trace-Option aktiviert den Gebrauch der Methoden SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse und SoapClient->__getLastResponseHeaders.
Die Option exceptions ist ein boolscher Wert. Sie 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.
Die Option typemap ist ein Array mit Typabbildungen. Jede Abbildung ist ein Array mit den Schlüsseln type_name, type_ns (Namespace-URI), from_xml (Callback akzeptiert einen String-Parameter) und to_xml (callback akzeptiert einen Objekt-Parameter).
Die Option cache_wsdl ist eine der folgenden Konstanten:
WSDL_CACHE_NONE
,WSDL_CACHE_DISK
,WSDL_CACHE_MEMORY
oderWSDL_CACHE_BOTH
.Die Option user_agent gibt die Zeichenkette an, die im User-Agent-Header verwendet werden soll.
Die Option stream_context ist eine Ressource auf context.
The features option is a bitmask of
SOAP_SINGLE_ELEMENT_ARRAYS
,SOAP_USE_XSI_ARRAY_TYPE
,SOAP_WAIT_ONE_WAY_CALLS
.Die keep_alive Option ist ein boolescher Wert, der definiert, ob der Connection: Keep-Alive oder Connection: close Header gesendet werden soll.
Die ssl_method Option ist entweder
SOAP_SSL_METHOD_TLS
,SOAP_SSL_METHOD_SSLv2
,SOAP_SSL_METHOD_SSLv3
oderSOAP_SSL_METHOD_SSLv23
.
Fehler/Exceptions
SoapClient::SoapClient() erzeugt einen
E_ERROR
Fehler, wenn die location und
uri Optionen im non-WSDL Modus nicht angegeben wurden.
Eine SoapFault Exception wird ausgelöst, wenn der
wsdl
URI nicht geladen werden kann.
Beispiele
Beispiel #1 SoapClient::SoapClient()-Beispiel
<?php
$client = new SoapClient("ein.wsdl");
$client = new SoapClient("ein.wsdl", array('soap_version' => SOAP_1_2));
$client = new SoapClient("ein.wsdl", array('login' => "ein_name",
'password' => "ein_passwort"));
$client = new SoapClient("ein.wsdl", array('proxy_host' => "localhost",
'proxy_port' => 8080));
$client = new SoapClient("ein.wsdl", array('proxy_host' => "localhost",
'proxy_port' => 8080,
'proxy_login' => "ein_name",
'proxy_password' => "ein_passwort"));
$client = new SoapClient("ein.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("ein.wsdl",
array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP));
$client = new SoapClient("ein.wsdl", array('encoding'=>'ISO-8859-1'));
class MyBook {
public $title;
public $author;
}
$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));
?>
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-soapclient.soapclient.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.