Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有GUID和命名空间的PHP读取Web服务_Php_Soap_Webserver - Fatal编程技术网

使用带有GUID和命名空间的PHP读取Web服务

使用带有GUID和命名空间的PHP读取Web服务,php,soap,webserver,Php,Soap,Webserver,我是Web服务新手,正在努力使用PHP访问/读取XML数据(我的网站将使用PHP中的数据) WSDL Url: 我需要访问和阅读车辆库存信息,但无法查看以访问任何内容。 阵列车辆存储在以下位置: 我正在使用这段代码,但它没有给我任何数据。我还需要传递一个GUID,但不知道如何将其添加到标头 <?PHP define('NEWLINE', "<br />\n"); // SOAP client

我是Web服务新手,正在努力使用PHP访问/读取XML数据(我的网站将使用PHP中的数据)

WSDL Url:

我需要访问和阅读车辆库存信息,但无法查看以访问任何内容。 阵列车辆存储在以下位置:

我正在使用这段代码,但它没有给我任何数据。我还需要传递一个GUID,但不知道如何将其添加到标头

            <?PHP
            define('NEWLINE', "<br />\n");

            // SOAP client

            $wsdl = 'http://services.mywheels.co.za/BWAVehicleStockService.svc?wsdl';
            $soapClient = new SoapClient($wsdl, array('cache_wsdl' => 0));

            // SOAP call


            $parameters->ArrayOfVehicle->Vehicle;

            try
            {
                $result = $soapClient->GetVehicleStock($parameters);
            }
            catch (SoapFault $fault)
            {
                echo "Fault code: {$fault->faultcode}" . NEWLINE;
                echo "Fault string: {$fault->faultstring}" . NEWLINE;
                if ($soapClient != null)
                {
                    $soapClient = null;
                }
                exit();
            }
            $soapClient = null;

            echo "<pre>\n";
            print_r($result);
            echo "</pre>\n";

            echo "Return value: {$result->GetDataResult}" . NEWLINE;

            ?>

如果有人能帮我,或者给我指出正确的方向,那就太好了


谢谢

您可以使用
\uu setSoapHeaders()
添加标题:

我必须阅读WSDL本身来找出我应该使用的名称空间;在这种情况下,它们将
Guid
称为
tns:Guid
,从顶部可以读取用于表示该值的URI,因此
http://tempuri.org

$h = new SoapHeader('http://tempuri.org/', 'Guid', '123');
$soapClient->__setSoapHeaders($h);