Php/docs/soapserver.soapserver

提供:Dev Guides
< Php
移動先:案内検索

SoapServer::SoapServer

(PHP 5, PHP 7)

SoapServer::SoapServerSoapServer コンストラクタ


説明

public SoapServer::SoapServer ( mixed $wsdl [, array $options ] )

このコンストラクタにより SoapServer オブジェクトを WSDL または非 WSDL モードで作成することが可能です。


パラメータ

wsdl

WSDL モードの場合、これに WSDL ファイルの URI を指定する必要があります。 その他の場合、null を指定し、uri オプションを設定する必要があります。

options

デフォルトの SOAP バージョン (soap_version), 内部の文字エンコーディング (encoding), アクターの URI (actor) を指定することができます。

classmap オプションにより、WSDL 型を PHP のクラスにマッピングすることが可能です。 このオプションには、キーとしてWSDL 型、値として PHP クラスの名前を持つ配列を指定する必要があります。

typemap オプションは、型マッピングの配列です。 この配列のキーは type_nametype_ns (名前空間 URI)、from_xml (引数として文字列をひとつ受け取るコールバック) そして to_xml (引数としてオブジェクトをひとつ受け取るコールバック) です。

cache_wsdl オプションは、 WSDL_CACHE_NONEWSDL_CACHE_DISKWSDL_CACHE_MEMORY あるいは WSDL_CACHE_BOTH のいずれかです。

その他には features というオプションもあり、 SOAP_WAIT_ONE_WAY_CALLSSOAP_SINGLE_ELEMENT_ARRAYSSOAP_USE_XSI_ARRAY_TYPE を設定することができます。

send_errors オプションを false にすると、 個別のエラーメッセージではなく汎用的なメッセージ ("Internal error") を送信できます。


例1 SoapServer::SoapServer() の例

<?php$server = new SoapServer("some.wsdl");$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C%22));$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));$server = new SoapServer(null, array('uri' => "http://test-uri/%22));class MyBook {    public $title;    public $author;}$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));?>

参考