Использование встроенного класса SoapClient
должно быть проще, чем манипулирование XML и настройка запроса cURL.
Начните с создания объекта SoapClient
из предоставленного WSDL.
$client = new SoapClient('http://services.chromedata.com/Description/7b?wsdl');
Вы можете перечислить все доступные функции.
$functions = $client->__getFunctions();
var_dump($functions);
Это покажет вам:
array (size=9)
0 => string 'VersionInfo getVersionInfo(BaseRequest $request)' (length=48)
1 => string 'ModelYears getModelYears(BaseRequest $request)' (length=46)
2 => string 'Divisions getDivisions(DivisionsRequest $request)' (length=49)
3 => string 'Subdivisions getSubdivisions(SubdivisionsRequest $request)' (length=58)
4 => string 'Models getModels(ModelsRequest $request)' (length=40)
5 => string 'Styles getStyles(StylesRequest $request)' (length=40)
6 => string 'VehicleDescription describeVehicle(VehicleDescriptionRequest $request)' (length=70)
7 => string 'CategoryDefinitions getCategoryDefinitions(BaseRequest $request)' (length=64)
8 => string 'TechnicalSpecificationDefinitions getTechnicalSpecificationDefinitions(BaseRequest $request)' (length=92)
Это похоже натот, который вы хотите, называется describeVehicle
.Вы можете вызвать его как метод объекта $client
.Требуется объект VehicleDescriptionRequest
, но вы должны иметь возможность передавать необходимые данные в массиве.
$account = ['number'=>"", 'secret'=>"", 'country'=>"US", 'language'=>"en", 'behalfOf'=>"?"];
$description = $client->describeVehicle([
'accountInfo' => $account,
'vin' => $VIN
]);
Это все, что я могу получить, не имея собственной учетной записи.Я предполагаю, что ваши учетные данные должны быть указаны в разделе «accountInfo» запроса как значения «number» и «secret».