Forum und email

SoapClient->__construct()

(No version information available, might be only in CVS)

SoapClient->__construct() — SoapClient コンストラクタ

説明

SoapClient
__construct ( mixed $wsdl [, array $options ] )

ã“ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€WSDL モードもã—ãã¯ éž WSDL モード㧠SoapClient オブジェクトを生æˆã—ã¾ã™ã€‚

パラメータ

wsdl

WSDL ファイル㮠URI ã‚‚ã—ãã¯ éž WSDL モードã®å ´åˆ NULL

注æ„: 開発中ã¯ã€WSDL ã®ã‚­ãƒ£ãƒƒã‚·ãƒ¥ã‚’ php.ini ã® soap.wsdl_cache_ttl ã§ç„¡åйã«ã—ã¦ãŠãã¨ã‚ˆã„ã§ã—ょã†ã€‚ ãã†ã—ãªã„ã¨ã€WSDL を変更ã—ã¦ã‚‚ soap.wsdl_cache_ttl ã§è¨­å®šã—ãŸæ™‚é–“ãŒçµŒéŽã™ã‚‹ã¾ã§ ãれãŒå映ã•れãªããªã‚Šã¾ã™ã€‚

options

オプションã®é…列。も㗠WSDL モードã§å‹•作ã•ã›ã‚‹å ´åˆã€ ã“ã®ãƒ‘ラメータã¯ã‚ªãƒ—ションã§ã™ã€‚éž WSDL モードã§å‹•作ã•ã›ã‚‹å ´åˆã€ location 㨠uri オプションを指定ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ã“ã“ã§ã€ location ã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’行ㆠURL〠uri 㯠SOAP サービスã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆåå‰ç©ºé–“ã§ã™ã€‚

style ãŠã‚ˆã³ use オプション ã¯éž WSDL モードã§ã®ã¿å‹•作ã—ã¾ã™ã€‚ WSDL モードã§ã¯ã€ã“れら㯠WSDL ãƒ•ã‚¡ã‚¤ãƒ«ã§æŒ‡å®šã•れã¾ã™ã€‚

soap_version オプションã¯ã€ SOAP 1.1 ã¾ãŸã¯ SOAP 1.2 クライアントã®ã©ã¡ã‚‰ã‚’使用ã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚

HTTP èªè¨¼ç”¨ã¨ã—ã¦ã€login ãŠã‚ˆã³ password オプションãŒä½¿ç”¨å¯èƒ½ã§ã™ã€‚ プロキシサーãƒçµŒç”±ã§ HTTP 接続を確立ã™ã‚‹å ´åˆã¯ã€ proxy_host, proxy_port, proxy_login ãŠã‚ˆã³ proxy_password ã®å„オプションを使用ã—ã¦ãã ã•ã„。

compression オプションã«ã‚ˆã‚Šã€ HTTP SOAP リクエストやレスãƒãƒ³ã‚¹ã®åœ§ç¸®ã‚’行ã†ã“ã¨ãŒã§ãã¾ã™ã€‚

encoding オプションã¯å†…éƒ¨çš„ãªæ–‡å­—エンコーディングを定義ã—ã¾ã™ã€‚ ã“ã®ã‚ªãƒ—ション㯠SOAP リクエストã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚° (常㫠utf-8) を変更ã—ã¾ã›ã‚“ãŒã€ãã®ä¸­ã®æ–‡å­—列を変æ›ã—ã¾ã™ã€‚

classmap オプション㯠WSDL 型を PHP クラスã«ãƒžãƒƒãƒ”ングã™ã‚‹ãŸã‚ã«ä½¿ç”¨å¯èƒ½ã§ã™ã€‚ ã“ã®ã‚ªãƒ—ションã«ã¯ã€ã‚­ãƒ¼ã¨ã—ã¦WSDL åž‹ã€å€¤ã¨ã—㦠PHP クラスã®åå‰ã‚’æŒã¤é…列を指定ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

boolean ã®ã‚ªãƒ—ション trace を設定ã™ã‚‹ã¨ã€ SoapClient->__getLastRequest〠SoapClient->__getLastRequestHeaders〠SoapClient->__getLastResponse ãŠã‚ˆã³ SoapClient->__getLastResponseHeaders ã¨ã„ã£ãŸãƒ¡ã‚½ãƒƒãƒ‰ãŒä½¿ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

exceptions オプション㯠boolean 値ã§ã€soap ã®ã‚¨ãƒ©ãƒ¼æ™‚ã« SoapFault åž‹ã®ä¾‹å¤–をスローã•ã›ã‚‹ã‹ã©ã†ã‹ã‚’設定ã—ã¾ã™ã€‚

connection_timeout オプションã¯ã€SOAP ã‚µãƒ¼ãƒ“ã‚¹ã«æŽ¥ç¶šã™ã‚‹éš›ã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆç§’数を指定ã—ã¾ã™ã€‚ ã“れを使用ã—ã¦ã‚‚ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒé…ã„サービスã®ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã‚’定義ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 サービスã®ã‚³ãƒ¼ãƒ«ãŒå®Œäº†ã™ã‚‹ã¾ã§ã®å¾…ã¡æ™‚間を制é™ã™ã‚‹ã«ã¯ã€è¨­å®šé …ç›® default_socket_timeout を使用ã—ã¾ã™ã€‚

typemap オプションã¯ã€åž‹ãƒžãƒƒãƒ”ングã®é…列ã§ã™ã€‚ ã“ã®é…列ã®ã‚­ãƒ¼ã¯ type_name〠type_ns (åå‰ç©ºé–“ URI)ã€from_xml (引数ã¨ã—ã¦æ–‡å­—列をã²ã¨ã¤å—ã‘å–るコールãƒãƒƒã‚¯) ãã—㦠to_xml (引数ã¨ã—ã¦ã‚ªãƒ–ジェクトをã²ã¨ã¤å—ã‘å–るコールãƒãƒƒã‚¯) ã§ã™ã€‚

ãã®ä»–ã«ã¯ stream_context ã‚„ features〠cache_wsdl ãã—㦠user_agent ã¨ã„ã£ãŸã‚ªãƒ—ションãŒã‚りã¾ã™ã€‚

例

Example#1 SoapClient ã®ä¾‹

<?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' => "https://localhost/soap.php",
                                     
'uri'      => "https://test-uri/"));

$client = new SoapClient(null, array('location' => "https://localhost/soap.php",
                                     
'uri'      => "https://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")));

?>