SoapClient::SoapClient
SoapClient::SoapClient
(PHP 5 >= 5.0.1, PHP 7)
SoapClient::SoapClient — SoapClient constructor
Description
public SoapClient::SoapClient ( mixed $wsdl [, array $options ] )
This constructor creates SoapClient objects in WSDL
or non-WSDL
mode.
Parameters
wsdl
URI of the WSDL
file or NULL
if working in non-WSDL
mode.
Note
: During development, WSDL caching may be disabled by the use of thesoap.wsdl
_
cache
_
ttl
php.ini setting otherwise changes made to the WSDL file will have no effect untilsoap.wsdl
_
cache
_
ttl
is expired.
options
An array of options. If working in WSDL mode, this parameter is optional. If working in non-WSDL mode, the location
and uri
options must be set, where location
is the URL of the SOAP server to send the request to, and uri
is the target namespace of the SOAP service.
The style
and use
options only work in non-WSDL mode. In WSDL mode, they come from the WSDL file.
The soap
_
version
option should be one of either SOAP_1_1
or SOAP_1_2
to select SOAP 1.1 or 1.2, respectively. If omitted, 1.1 is used.
For HTTP authentication
, the login
and password
options can be used to supply credentials. For making an HTTP connection through a proxy
server, the options proxy
_
host
, proxy
_
port
, proxy
_
login
and proxy
_
password
are also available. For HTTPS client cert
ificate authentication
use local
_
cert
and passphrase
options. An authentication
may be supplied in the authentication
option. The authentication
method may be either SOAP_AUTHENTICATION_BASIC
(default) or SOAP_AUTHENTICATION_DIGEST
.
The compression
option allows to use compression
of HTTP SOAP requests and responses.
The encoding
option defines internal character encoding
. This option does not change the encoding
of SOAP requests (it is always utf-8), but converts strings into it.
The trace
option enables tracing of request so faults can be backtrace
d. This defaults to FALSE
The classmap
option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.
Setting the boolean trace option enables use of the methods SoapClient->__getLastRequest, SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse and SoapClient->__getLastResponseHeaders.
The exceptions
option is a boolean value defining whether soap errors throw exceptions
of type SoapFault.
The connection
_
timeout
option defines a timeout
in seconds for the connection
to the SOAP service. This option does not define a timeout
for services with slow responses. To limit the time to wait for calls to finish the default_
socket_
timeout
setting is available.
The typemap
option is an array of type
mappings. Type mapping is an array with keys type
_
name
, type
_
ns
(name
space URI), from
_
xml
(callback accepting one string parameter) and to
_
xml
(callback accepting one object parameter).
The cache
_
wsdl
option is one of WSDL_CACHE_NONE
, WSDL_CACHE_DISK
, WSDL_CACHE_MEMORY
or WSDL_CACHE_BOTH
.
The user
_
agent
option specifies string to use in User-Agent
header.
The stream
_
context
option is a resource for context
.
The features
option is a bitmask of SOAP_SINGLE_ELEMENT_ARRAYS
, SOAP_USE_XSI_ARRAY_TYPE
, SOAP_WAIT_ONE_WAY_CALLS
.
The keep
_
alive
option is a boolean value defining whether to send the Connection: Keep-Alive
header or Connection: close
.
The ssl
_
method
option is one of SOAP_SSL_METHOD_TLS
, SOAP_SSL_METHOD_SSLv2
, SOAP_SSL_METHOD_SSLv3
or SOAP_SSL_METHOD_SSLv23
.
Errors/Exceptions
SoapClient::SoapClient()
will generate an E_ERROR
error if the location
and uri
options aren't provided in non-WSDL mode.
A SoapFault exception will be thrown if the wsdl
URI cannot be loaded.
Changelog
Version | Description |
---|---|
5.5.0 | New ssl_method option. |
5.4.0 | New keep_alive option. |
Examples
Example #1 SoapClient::SoapClient() example
<?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)
$client = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1')
class MyBook {
public $title;
public $author;
}
$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook"))
?>
← SoapClient::__soapCall
SoapServer →
© 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.