首页 > 解决方案 > 如何使用 zend-soap 从 SOAP 请求中获取响应?

问题描述

我一直在花时间解决问题。我有一个端点,我想发送一些数据并接收响应。

我在网上看了一下,我看到 Zend\Soap\Server 用于构建方法,而 Zend\Soap\Client 可以使用这些方法。我希望有人解释在这些方法中要写什么,以及这对获得响应有何帮助。

$client = new Client($this->wsdl, array('soap_version' => SOAP_1_1));

现在我们可以 $client->SOMEMETHOD();

我的问题是:“我从哪里得到这个方法?”、“方法会做什么?”和“我如何使用它?”

标签: soapzend-frameworkzend-soap

解决方案


SOAP 短底座

SOAP 允许请求在线服务。(用作客户代码)例如,您可以在产品上查询亚马逊,了解其价格等。

SOAP 以两种不同的方式工作:

方式一:wdsl模式

当您创建到 SOAP 客户端的连接时,您必须提供将提供 XML 文件的链接:wdsl

示例:在浏览器中输入: http ://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl

恭喜:您看到(发现)查询亚马逊的方式!

这个 XML 文件告诉您可以要求什么:价格、产品信息、搜索等……:这些是路线。

对于每个路由(每个可能的查询),您必须提供的参数,这些参数的有效性检查:例如:路由 = 搜索文章,参数 1 = 文章名称,参数类型 = 字符串等...

$client = new Client($this->wsdl, array( 'soap_version' => SOAP_1_1 ) )

创建一个客户端对象:
$this->wsdl一个指向 xml 文件(发现部分)的链接,
它是一个 URI 字符串:示例:“ http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl

array( 'soap_version' => SOAP_1_1 ) = 我使用 SOAP 版本 xx,您可以在此数组中添加更多选项。

方式2:非wdsl模式

您不提供 wsdl 链接或文件...但您必须知道如何处理请求和响应

深度学习

在 google 上搜索 SOAP 教程,有用于测试目的的在线请求者等......然后在 zend 中使用它


推荐阅读