If you want your SOAP client to be able to save and then retrieve the object properties, you need to set the SOAP server to be persistent by setting session.auto_start=0, invoking session_start(), and SoapServer->setPersistence(SOAP_PERSISTENCE_SESSION) in the following manner:
<?php
//set ini
ini_set("soap.wsdl_cache_enabled", 0);
ini_set("session.auto_start", 0);
//class file
require_once('MyClass.php');
//for persistent session
session_start();
//service
$server = new SoapServer('service.wsdl');
$server->setClass("MyClass");
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
$server->handle();
?>
SoapServer->setClass
(No version information available, might be only in CVS)
SoapServer->setClass — SOAP リクエストを処理するクラスを設定する
説明
指定されたクラスから全てのメソッドをエクスポートします。
このオブジェクトは SoapServer->setPersistence メソッドにより指定した PHP セッションに関するリクエストをまたがる 持続性を持たせることができます
パラメータ
- class_name
-
エクスポートするクラス名
- args
-
これらのオプションパラメータは、 オブジェクト作成時にデフォルトのクラスコンストラクタに渡されます。
返り値
値を返しません。
例
例1 いくつかの例
<?php
class foo {
function foo()
{
}
}
$server->setClass("foo");
class bar {
function bar($x, $y)
{
}
}
$server->setClass("bar", $arg1, $arg2);
?>
SoapServer->setClass
Ariz Jacinto
05-Dec-2008 02:38
05-Dec-2008 02:38
info at adaniels dot nl
07-Mar-2008 02:46
07-Mar-2008 02:46
A method SoapServer::setObject($object) also exists. This is for some reason not documented.
