Friday, 10 April 2015

SoapClient manual in PHP used to consume webservice

SoapClient::SoapClient

(PHP 5 >= 5.0.1)
SoapClient::SoapClient — SoapClient constructor

Opis 

public SoapClient::SoapClient ( mixed $wsdl [, array $options ] )
This constructor creates SoapClient objects in WSDL or non-WSDL mode.

Parametry 

wsdl
URI of the WSDL file or NULL if working in non-WSDL mode.
Informacja:
During development, WSDL caching may be disabled by the use of the soap.wsdl_cache_ttl php.inisetting 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, thelocation 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 specifies whether to use SOAP 1.1 (default), or SOAP 1.2 client.
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_hostproxy_portproxy_login andproxy_password are also available. For HTTPS client certificate authentication use local_cert andpassphrase 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 backtraced. 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.
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_nametype_ns(namespace 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_NONEWSDL_CACHE_DISKWSDL_CACHE_MEMORY orWSDL_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_ARRAYSSOAP_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 orConnection: close .

Błędy/Wyjątki 

SoapClient::SoapClient() will generate an E_ERROR error if the location and uri options aren't provided in non-WSDL mode.
SoapFault exception will be thrown if the wsdl URI cannot be loaded.

Rejestr zmian 

WersjaOpis
5.4.0New keep_alive option.

Przykłady 

Przykład #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));
$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")));
?>

No comments:

Post a Comment