SoapServer::__construct

(PHP 5, PHP 7, PHP 8)

SoapServer::__constructConstrutor SoapServer

Descrição

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

Este construtor permite a criação de objetos SoapServer no modo WSDL ou não WSDL.

Parâmetros

wsdl

Para utilizar o SoapServer em modo WSDL, passe o URI de um arquivo WSDL. Caso contrário, passe null e defina a opção uri como namespace de destino para o servidor.

options

Permite definir uma versão SOAP padrão (soap_version), codificação interna de caracteres (encoding), e URI do ator (actor).

A opção classmap pode ser usada para mapear alguns tipos WSDL para classes PHP. Esta opção deve ser um array com tipos WSDL como chaves e nomes de classes PHP como valores.

A opção typemap é um array de mapeamentos de tipos. O mapeamento de tipo é um array com chaves type_name, type_ns (URI do namespace), from_xml (retorno de chamada aceitando um parâmetro de string) e to_xml (retorno de chamada aceitando um parâmetro de objeto).

A opção cache_wsdl é uma das WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY ou WSDL_CACHE_BOTH.

Há também uma opção features que pode ser definida como SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

A opção send_errors pode ser definida como false enviar uma mensagem de erro genérica ("Erro interno") em vez da mensagem de erro específica enviada de outra forma.

Exemplos

Exemplo #1 Exemplo de 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")));

?>

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
11
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