SoapServer::__construct

(PHP 5, PHP 7, PHP 8)

SoapServer::__constructSoapServer 构造函数

说明

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

此构造函数允许在 WSDL 或非 WSDL 模式下创建 SoapServer 对象。

参数

wsdl

要在 WSDL 模式下使用 SoapServer,请传递 WSDL 文件的 URI。 否则,请传递 **null** 并将 uri 选项设置为服务器的目标命名空间。

options

允许设置默认 SOAP 版本 (soap_version)、内部字符编码 (encoding) 和 Actor URI (actor)。

classmap 选项可用于将某些 WSDL 类型映射到 PHP 类。 此选项必须是一个数组,其中 WSDL 类型作为键,PHP 类名作为值。

typemap 选项是一个类型映射数组。 类型映射是一个数组,其键为 type_nametype_ns(命名空间 URI)、from_xml(接受一个字符串参数的回调)和 to_xml(接受一个对象参数的回调)。

cache_wsdl 选项是 **WSDL_CACHE_NONE**、**WSDL_CACHE_DISK**、**WSDL_CACHE_MEMORY** 或 **WSDL_CACHE_BOTH** 之一。

还有一个 features 选项,可以设置为 **SOAP_WAIT_ONE_WAY_CALLS**、**SOAP_SINGLE_ELEMENT_ARRAYS**、**SOAP_USE_XSI_ARRAY_TYPE**。

send_errors 选项可以设置为 **false** 以发送通用的错误消息(“内部错误”),而不是发送其他情况下发送的特定错误消息。

示例

示例 #1 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")));

?>

参见

添加说明

用户贡献的说明 1 条说明

13
匿名
12 年前
// 使用客户端在本地主机上工作的服务器

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

// 希望你喜欢
To Top