PHP Manual
Prev |  | Next

# SoapClient->__construct()

(no version information, might be only in CVS)

SoapClient->__construct() -- SoapClient constructor

## Description

class SoapClient {
__construct ( 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 stage, you may want to disable WSDL caching by the mean of the `soap.wsdl_cache_ttl` `php.ini` setting, otherwise changes made to the WSDL file will have no effect until `soap.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, you must set the `location` and `uri` options, where `location` is the URL to request 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 specifies whether to use SOAP 1.1, or SOAP 1.2 client.

  For HTTP authentication, you may use the `login` and `password` options. For making an HTTP connection through a proxy server, use the options `proxy_host`, `proxy_port`, `proxy_login` and `proxy_password`. For HTTPS client certificate authentication use `local_cert` and `passphrase` options.

  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 `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.

## Examples

Example 1. SoapClient examples

`<?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")));
?>`

Prev | Home | Next
SoapClient->__call() | Up | SoapClient->__doRequest()