我正在尝试使用只允许SOAP请求的Web服务
据我所知,我必须创建一个看起来像这样的请求
<?xml version="1.0" encoding="utf-8"?>
<SessionCreateRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<POS>
<Source PseudoCityCode="SECRET_CODE" />
</POS>
</SessionCreateRQ>
然而,当将参数添加到SessionCreateRQ方法时,我不知道如何添加名为Source的POS参数,并且不知道如何设置该参数的属性
我在php中尝试以下内容
$body = array(
'POS' => array('source' => 'PseudoCityCode:SECRET_CODE'));
try
{
$result = $c->SessionCreateRQ($body);
}
但没有运气,有没有人知道我应该如何正确地构建这个电话呢?
谢谢!
答案 0 :(得分:1)
首先,您需要此服务的WSDL定义(在线或本地文件)。任何不错的SOAP服务都为用户提供WSDL。
其次,您需要将WSDL服务定义转换为PHP代码。试试wsdl2php生成器。它生成带有类的文件,用于调用Web服务。
您的示例大致如下:
require_once 'GeneratedTypes.php';
$client = new SOAPService();
$res = $client->SessionCreateRQ(SECRET_CODE);
P.S。 wsdl2php不理想,但它正在工作:)