public SoapClient::SoapClient ( mixed $wsdl [, array $options ] )
此构造函数创建一个WSDL 或者 non-WSDL SoapClien类
参数:
wsdl
WSDL地址或者为空。为空时说明服务器已 non-WSDL 模式工作。
注意:
在开发期间,php.ini 里面的 soap.wsdl_cache_ttl 设置关闭。否则WSDL文件不会改变直到 soap.wsdl_cache_ttl 过期
options
options 参数为一个数组。如果工作在WSDL模式,此参数可选。如果工作在non-WSDL模式,localtion 和 uri 两个参数必须设置。location 是 SOAP 服务器地址;uri 是指定 SOAP 服务。
以下参数设置只在non-WSDL模式生效。在WSDL模式时,这些参数由WSDL文件提供。
soap_version
(soap 版本) 应该是 SOAP_1_1 或者 SOAP_1_2。如果未设置,默认为 1.1.‘login’ 和 ‘password’
这两个选项可作为HTTP 认证。通过代理服务器进行HTTP连接时,proxy_host, proxy_port, proxy_login and proxy_password 这些选项也是可用的。对于HTTPS 客户端证书认证可使用‘loca_cert’和‘passphrase’选项。认证方式也是可设置为SOAP_AUTHENTICATION_BASIC (默认) 或者 SOAP_AUTHENTICATION_DIGEST。
‘compression’
允许HTTP SOAP对请求或者回复进行压缩。encoding
此选项定义内部字符编码。它并不改变SOAP请求的编码方式(总是 utf-8),而是转换它。trace
此选项使得请求错误可被追踪。classmap
此选项可用来定义一些WSDL类型映射PHP 类。此选项必须为数组且key为WSDL类型,value为PHP class 类型。此处翻译不好,原文如下: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.
启用了此选项可激活一下方法:
- SoapClient->__getLastRequest
- SoapClient->__getLastRequestHeaders,
- SoapClient->__getLastResponse
- SoapClient->__getLastResponseHeaders.
exceptions
此选项为布尔值,定义soap是否抛出 SoapFault 错误类型。connection_timeout
此选项定义了连接SOAP 服务超时时间。
它并不定义服务响应的超时时长,设置响应时长可用选项default_socket_timeout。typemap
此选项为一个数组。其健值为:- type_name
- type_ns (namespace URI)
- from_xml (callback accepting one string parameter)
- to_xml (callback accepting one object parameter)
cache_wsdl
其值为:- WSDL_CACHE_NONE
- WSDL_CACHE_DISK
- WSDL_CACHE_MEMORY
- WSDL_CACHE_BOTH
user_agent
此选项指明使用User-Agent头。stream_context
此选项是一个上下文资源。features
此选项是一个为掩码:- SOAP_SINGLE_ELEMENT_ARRAYS
- SOAP_USE_XSI_ARRAY_TYPE
SOAP_WAIT_ONE_WAY_CALLS
keep_alive
此选项是一个布尔值定义发送连接头 Connection: Keep-Alive或者 Connection: closessl_method
此选项值为:- SOAP_SSL_METHOD_TLS
- SOAP_SSL_METHOD_SSLv2
- SOAP_SSL_METHOD_SSLv3
- SOAP_SSL_METHOD_SSLv23