PHP 8.5.0 Alpha 2 available for testing

SoapServer::setClass

(PHP 5, PHP 7, PHP 8)

SoapServer::setClassConfigura la clase que será utilizada para gestionar las peticiones SOAP

Descripción

public SoapServer::setClass(string $class, mixed ...$args): void

Exporta todos los métodos de la clase especificada.

SoapServer::setClass() configura una clase que servirá como gestor para las peticiones SOAP. El objeto podrá entonces ser mantenido persistente a través de las peticiones durante una sesión PHP, con el método SoapServer::setPersistence().

Parámetros

class

El nombre de la clase exportada.

args

Estos parámetros opcionales serán pasados por defecto al constructor de la clase, durante la fase de creación del objeto.

Valores devueltos

No se retorna ningún valor.

Ver también

add a note

User Contributed Notes 2 notes

up
4
Ariz Jacinto
16 years ago
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();
?>
up
3
christiaan at oakfox dot net
16 years ago
You can also retrieve object properties the following way while using __autoload($class_name).

<?php

# Start Session
session_start();

# Auto Load Class as Required
function __autoload($class_name)
{
require_once
"/var/www/example/class/". $class_name. ".php";
}

//service

$_SESSION[_bogus_session_name] = unserialize($_SESSION[_bogus_session_name]);
$server = new SoapServer('service.wsdl');
$server->setClass("MyClass");
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
$server->handle();
$_SESSION[_bogus_session_name] = serialize($_SESSION[_bogus_session_name])

?>
To Top