【发布时间】:2015-11-13 14:11:00
【问题描述】:
我使用 php 从 webservice 获取数据。 我有这个代码:
try
{
$wsdl_url = 'https://xxx';
$client = new SOAPClient($wsdl_url);
$params = array(
'Code' => '1111',
'Name' => 'Marcos',
'Client' => '009462'
);
$return = $client->GetData($params);
print_r($return);
}
catch (Exception $e)
{
echo "Exception occured: " . $e;
}
现在,我有一个带参数的 xml。 示例:
<san:GetData>
<san:objData xsi:type="PricesData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://">
<san:Code>7</san:Code>
<san:Client>999999</san:Client>
<san:Data>
<san:Fact>CF</san:Fact>
<san:Fact2>CF</san:Fact2>
</san:Data>
<san:DataProduct>
<san:Code>0202</san:Code>
<san:PersonalData>
<san:Name>00030</san:Name>
<san:Company>00045</san:Company>
</san:PersonalData>
</san:DataProduct>
</san:objData>
如何将这些参数传递给 php 数组?因为它将数据分为“类别”,我不知道如何操作它们。
谢谢。
【问题讨论】:
-
如果我理解正确,那些 XML 是 Web 服务响应。 SOAPClient 应该已根据 WSDL 将其转换为正确的 PHP 类型。
-
我需要知道如何传递参数必须在类别之内。一个低于另一个?示例: $params = array( 'Code' => '1111', 'Cliente' => 'Marcos', 'Fact' => '009462', 'Fact2' => '009462', 'Code' => '009462 ');最后一个代码在 DataProduct 中。我如何发送?
-
我必须将值发送到 Web 服务才能得到答案。
-
完美,它将一个数组转换成另一个数组。谢谢!,我试试。
标签: php xml web-services soap soapui