SoapServer::__construct

(PHP 5, PHP 7, PHP 8)

SoapServer::__constructConstructor de SoapServer

Descripción

public SoapServer::__construct(?string $wsdl, array $options = [])

Este constructor permite la creación de objetos SoapServer en modo WSDL o no-WSDL.

Parámetros

wsdl

Para utilizar el modo WSDL, debe definirse la URI del fichero WSDL en este argumento. En otras situaciones, debe definirse este argumento a null y definirse la opción uri.

options

Permite definir una versión SOAP por omisión (soap_version), un juego de caracteres de codificación interna (encoding) y una URI actor (actor).

La opción classmap puede ser utilizada para ligar algunos tipos WSDL a clases PHP. Esta opción debe ser un array con los tipos WSDL como claves y los nombres de las clases PHP como valores.

La opción typemap es un array cuyas claves son type_name, type_ns (URI del espacio de nombres), from_xml (función de retrollamada aceptando un argumento de tipo string) y to_xml (función de retrollamada aceptando un argumento de tipo object).

La opción cache_wsdl puede tomar uno de los valores WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY o WSDL_CACHE_BOTH.

La última opción es features que puede ser definida a SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

La opción send_errors puede ser definida a false para enviar un mensaje de error genérico ("Internal error") en lugar del mensaje de error específico.

Ejemplos

Ejemplo #1 Ejemplos con SoapServer::__construct()

<?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"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class
MyBook {
public
$title;
public
$author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Ver también

add a note

User Contributed Notes 1 note

up
13
Anonymous
13 years ago
// Workin Server with Client for localhost

// server.php

<?php
class MyClass {
public function
helloWorld() {

return
'Hallo Welt '. print_r(func_get_args(), true);
}
}

try {
$server = new SOAPServer(
NULL,
array(
'uri' => 'http://localhost/soap/server.php'
)
);

$server->setClass('MyClass');
$server->handle();
}

catch (
SOAPFault $f) {
print
$f->faultstring;
}

?>

// client.php:

<?php
$client
= new SoapClient(null, array(
'location' => "http://localhost/soap/server.php",
'uri' => "http://localhost/soap/server.php",
'trace' => 1 ));

echo
$return = $client->__soapCall("helloWorld",array("world"));
?>

// Hope you like it
To Top