# SOAP Functions

## Introduction

The SOAP extension can be used to write SOAP Servers and Clients. It supports subsets of » SOAP 1.1, » SOAP 1.2 and » WSDL 1.1 specifications.

## Requirements

This extension makes use of the » GNOME xml library. Download and install this library. You will need at least libxml-2.5.4.

## Installation

This extension is only available if PHP was configured with --enable-soap.

## Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

SOAP Configuration Options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
soap.wsdl_cache_enabled | "1" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_dir | "/tmp" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_ttl | "86400" | PHP_INI_ALL | Available since PHP 5.0.0.
soap.wsdl_cache_limit | "5" | PHP_INI_ALL | Available since PHP 5.1.5.

For further details and definitions of the PHP_INI_* constants, see the php.ini directives.

Here's a short explanation of the configuration directives.

`soap.wsdl_cache_enabled` boolean

  Enables or disables the WSDL caching feature.

`soap.wsdl_cache_dir` string

  Sets the directory name where the SOAP extension will put cache files.

`soap.wsdl_cache_ttl` int

  Sets the number of seconds (time to live) that cached files will be used instead the originals.

`soap.wsdl_cache_limit` integer

  Maximum number of in memory cached wsdl files

## Predefined Classes

## SoapClient

## Constructor

- SoapClient->__construct() - constructs a new SoapClient object

## Methods

- SoapClient->__call() - Calls a SOAP function (deprecated)

- SoapClient->__doRequest() - Performs a SOAP request

- SoapClient->__getFunctions() - Returns list of SOAP functions

- SoapClient->__getLastRequest() - Returns last SOAP request

- SoapClient->__getLastRequestHeaders() - Returns last SOAP request headers

- SoapClient->__getLastResponse() - Returns last SOAP response

- SoapClient->__getLastResponseHeaders() - Returns last SOAP response headers

- SoapClient->__getTypes() - Returns list of SOAP types

- SoapClient->__setCookie() - Sets the cookie that will be sent with the SOAP request

- SoapClient->__soapCall() - Calls a SOAP function

## SoapFault

## Constructor

- SoapFault->__construct() - construct a new SoapFault object

## SoapHeader

SoapHeader is a special low-level class for passing or returning SOAP headers. It's just a data holder and it does not have any special methods except its constructor. It can be used in the SoapClient->__soapCall() method to pass a SOAP header or in a SOAP header handler to return the header in a SOAP response.

## Constructor

- SoapHeader->__construct() - construct a new SoapHeader object

## SoapParam

SoapParam is a special low-level class for naming parameters and returning values in non-WSDL mode. It's just a data holder and it does not have any special methods except its constructor.

## Constructor

- SoapParam->__construct() - construct a new SoapParam object

## SoapServer

## Constructor

- SoapServer->__construct() - construct a new SoapServer object

## Methods

- SoapServer->addFunction() - Adds one or several functions those will handle SOAP requests

- SoapServer->fault() -

- SoapServer->getFunctions() - Returns list of defined functions

- SoapServer->handle() - Handles a SOAP request

- SoapServer->setClass() - Sets class which will handle SOAP requests

- SoapServer->setPersistence() - Sets persistence mode of SoapServer

## SoapVar

SoapVar is a special low-level class for encoding parameters and returning values in non-WSDL mode. It's just a data holder and does not have any special methods except the constructor. It's useful when you want to set the type property in SOAP request or response.

## Constructor

- SoapVar->__construct() - construct a new SoapVar object

## Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

`SOAP_1_1` (integer)
`SOAP_1_2` (integer)
`SOAP_PERSISTENCE_SESSION` (integer)
`SOAP_PERSISTENCE_REQUEST` (integer)
`SOAP_FUNCTIONS_ALL` (integer)
`SOAP_ENCODED` (integer)
`SOAP_LITERAL` (integer)
`SOAP_RPC` (integer)
`SOAP_DOCUMENT` (integer)
`SOAP_ACTOR_NEXT` (integer)
`SOAP_ACTOR_NONE` (integer)
`SOAP_ACTOR_UNLIMATERECEIVER` (integer)
`SOAP_COMPRESSION_ACCEPT` (integer)
`SOAP_COMPRESSION_GZIP` (integer)
`SOAP_COMPRESSION_DEFLATE` (integer)
`SOAP_WAIT_ONE_WAY_CALLS` (integer)
  Added in PHP 5.1.0.
`UNKNOWN_TYPE` (integer)
`XSD_STRING` (integer)
`XSD_BOOLEAN` (integer)
`XSD_DECIMAL` (integer)
`XSD_FLOAT` (integer)
`XSD_DOUBLE` (integer)
`XSD_DURATION` (integer)
`XSD_DATETIME` (integer)
`XSD_TIME` (integer)
`XSD_DATE` (integer)
`XSD_GYEARMONTH` (integer)
`XSD_GYEAR` (integer)
`XSD_GMONTHDAY` (integer)
`XSD_GDAY` (integer)
`XSD_GMONTH` (integer)
`XSD_HEXBINARY` (integer)
`XSD_BASE64BINARY` (integer)
`XSD_ANYURI` (integer)
`XSD_ANYXML` (integer)
  Added in PHP 5.1.0.
`XSD_QNAME` (integer)
`XSD_NOTATION` (integer)
`XSD_NORMALIZEDSTRING` (integer)
`XSD_TOKEN` (integer)
`XSD_LANGUAGE` (integer)
`XSD_NMTOKEN` (integer)
`XSD_NAME` (integer)
`XSD_NCNAME` (integer)
`XSD_ID` (integer)
`XSD_IDREF` (integer)
`XSD_IDREFS` (integer)
`XSD_ENTITY` (integer)
`XSD_ENTITIES` (integer)
`XSD_INTEGER` (integer)
`XSD_NONPOSITIVEINTEGER` (integer)
`XSD_NEGATIVEINTEGER` (integer)
`XSD_LONG` (integer)
`XSD_INT` (integer)
`XSD_SHORT` (integer)
`XSD_BYTE` (integer)
`XSD_NONNEGATIVEINTEGER` (integer)
`XSD_UNSIGNEDLONG` (integer)
`XSD_UNSIGNEDINT` (integer)
`XSD_UNSIGNEDSHORT` (integer)
`XSD_UNSIGNEDBYTE` (integer)
`XSD_POSITIVEINTEGER` (integer)
`XSD_NMTOKENS` (integer)
`XSD_ANYTYPE` (integer)
`SOAP_ENC_OBJECT` (integer)
`SOAP_ENC_ARRAY` (integer)
`XSD_1999_TIMEINSTANT` (integer)
`XSD_NAMESPACE` (string)
`XSD_1999_NAMESPACE` (string)

## Table of Contents

- is_soap_fault — Checks if SOAP call was failed
- SoapClient->__call() — Calls a SOAP function (deprecated)
- SoapClient->__construct() — SoapClient constructor
- SoapClient->__doRequest() — Performs a SOAP request
- SoapClient->__getFunctions() — Returns list of SOAP functions
- SoapClient->__getLastRequest() — Returns last SOAP request
- SoapClient->__getLastRequestHeaders() — Returns last SOAP request headers
- SoapClient->__getLastResponse() — Returns last SOAP response.
- SoapClient->__getLastResponseHeaders() — Returns last SOAP response headers.
- SoapClient->__getTypes() — Returns list of SOAP types
- SoapClient->__setCookie() — Sets the cookie that will be sent with the SOAP request
- SoapClient->__soapCall() — Calls a SOAP function
- SoapFault->__construct() — SoapFault constructor
- SoapHeader->__construct() — SoapHeader constructor
- SoapParam->__construct() — SoapParam constructor
- SoapServer->addFunction() — Adds one or several functions those will handle SOAP requests
- SoapServer->__construct() — SoapServer constructor
- SoapServer->fault() — Issue SoapServer fault indicating an error
- SoapServer->getFunctions() — Returns list of defined functions
- SoapServer->handle() — Handles a SOAP request
- SoapServer->setClass() — Sets class which will handle SOAP requests
- SoapServer->setPersistence() — Sets persistence mode of SoapServer
- SoapVar->__construct() — SoapVar constructor
- use_soap_error_handler — Set whether to use the SOAP error handler and return the former value