<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.1 $ -->
<refentry id="function.soap-soapclient-construct">
 <refnamediv>
  <refname>SoapClient->__construct()</refname>
  <refpurpose>
   SoapClient constructor
  </refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <classsynopsis>
   <ooclass><classname>SoapClient</classname></ooclass>
   <constructorsynopsis>
    <methodname>__construct</methodname>
    <methodparam><type>mixed</type><parameter>wsdl</parameter></methodparam>
    <methodparam choice="opt"><type>array</type><parameter>options</parameter></methodparam>
   </constructorsynopsis>
  </classsynopsis>
  <para>
   This constructor allows creating <classname>SoapClient</classname> objects 
   in <literal>WSDL</literal> or <literal>non-WSDL</literal> mode.
  </para>
 </refsect1>
 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   <variablelist>
    <varlistentry>
     <term><parameter>wsdl</parameter></term>
     <listitem>
      <para>
       URI of the <literal>WSDL</literal> file or &null; if working in 
       <literal>non-WSDL</literal> mode.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>options</parameter></term>
     <listitem>
      <para>
       An array of option. If working in WSDL mode, this parameter is optional.
       If working in non-WSDL mode, you must set the <literal>location</literal> 
       and <literal>uri</literal> options, where <literal>location</literal> is 
       a URL to request and <literal>uri</literal> is a target namespace of the 
       SOAP service.
      </para>
      <para>
       The <literal>style</literal> and <literal>use</literal> options only work in
       non-WSDL mode. In WSDL mode, they comes from the WSDL file.
      </para>
      <para>
       The <literal>soap_version</literal> option specifies whether to use SOAP
       1.1, or SOAP 1.2 client.
      </para>
      <para>
       For HTTP authentication, you may use the <literal>login</literal> and
       <literal>password</literal> options. For making a HTTP connection through
       a proxy server, use the options <literal>proxy_host</literal>,
       <literal>proxy_port</literal>, <literal>proxy_login</literal>
       and <literal>proxy_password</literal>.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>
 <refsect1 role="examples">
  &reftitle.examples;
    <para>
     <example>
      <title>SoapClient examples</title>
      <programlisting role="php">
<![CDATA[
<?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(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));

?>
]]>
      </programlisting>
     </example>
    </para>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->