Сначала вы должны создать экземпляр SoapClient
класса , как вы это сделали:
$url = "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL";
$client = new SoapClient($url);
Затем вам нужно вызвать метод, который вы хотите использовать - имена методов можно найти в WSDL.
Например, мы могли бы вызвать метод с именем CelsiusToFahrenheit
в этом веб-сервисе:
$result = $client->CelsiusToFahrenheit( /* PARAMETERS HERE */ );
Теперь проблема состоит в том, чтобы знать , какие параметры следует передавать ; и как ...
Если вы посмотрите на WSDL, вы увидите эту часть:
<s:element name="CelsiusToFahrenheit">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Celsius" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
Что указывает, что этим методам должен быть передан массив, содержащий 1 элемент, который будет иметь "Celsius
" в качестве ключа и значение для преобразования в качестве значения.
Это означает, что вам придется использовать эту часть кода PHP:
$result = $client->CelsiusToFahrenheit(array('Celsius' => '10'));
Выполнение этого вызова и вывод результата:
var_dump($result);
Получает этот вид вывода:
object(stdClass)#2 (1) {
["CelsiusToFahrenheitResult"]=>
string(2) "50"
}
Что означает, что вы должны использовать это:
echo $result->CelsiusToFahrenheitResult . "\n";
Чтобы получить результирующее значение :
50
Примечание: структуру этого результата можно также найти в файле WSDL - см. Часть CelsiusToFahrenheitResponse
.