非面向对象程序员在将 SOAP 功能集成到 PHP 脚本中时常常会遇到挑战。尽管拥有 WSDL 文件,但他们可能很难掌握调用 SOAP 调用的正确语法。
要作为客户端与 SOAP 服务交互,您可以使用 SoapClient 类。首先使用 WSDL 文件的 URL 创建 SoapClient 实例:
$client = new SoapClient("http://example.com/webservices?wsdl");
要检索有关可用函数和类型的信息,请使用:
var_dump($client->__getFunctions()); var_dump($client->__getTypes());
现在,让我们重点关注构建 SOAP 调用本身。假设您要使用以下数据调用“Function1”函数:
WSDL 文档表明 Contact 是一个复杂类型,有两个属性:id 和 name。
要使用所需数据进行 SOAP 调用,您需要使用以下内容语法:
$params = array( "Contact" => new Contact(100, "John"), "description" => "Barrel of Oil", "amount" => 500, ); $response = $client->__soapCall("Function1", array($params));
此代码使用指定的 ID 和名称创建 Contact 类的新实例。然后,它将请求参数组装到 $params 数组中,并使用 __soapCall 调用 SOAP 调用。
来自 SOAP 服务的响应将存储在 $response 变量中。您可以检查响应以获得调用结果。
以上是如何使用 PHP 的 SoapClient 与 SOAP Web 服务集成?的详细内容。更多信息请关注PHP中文网其他相关文章!