|
|
|
| Привет. Мне вот нужно выучить использование SOAP...
Я имею пример самого SOAP запроса и ответа, но не знаю куда его вставлять и как им пользоваться :)
Помогите, буду благодарен | |
|
|
|
|
|
|
|
|
для: Loki
(20.08.2008 в 09:24)
| | Да, спасибо, но я не пойму, как им пользоваться с XML?
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetClipInfo xmlns="http://vashserver.ru/webservices/">
<sessionID>string</sessionID>
<clipID>string</clipID>
</GetClipInfo>
</soap:Body>
</soap:Envelope>
|
например, такое | |
|
|
|
|
|
|
|
для: AlMag
(20.08.2008 в 12:39)
| | Вы объясните что вы делаете-то? SOAP сервис? пытаетесь работать с SOAP сервисом? Хотите узнать что такое SOAP? | |
|
|
|
|
|
|
|
для: Loki
(20.08.2008 в 15:33)
| | Я хочу освоить этот протокол, научиться составлять SOAP-запросы, такой как вышеприведённый мною, в формате XML | |
|
|
|
|
|
|
|
|
для: Loki
(20.08.2008 в 17:26)
| | Я читал там...
можете помочь мне разобраться в этом примере?
http://ua2.php.net/manual/ru/function.soap-soapclient-soapcall.php#76831 | |
|
|
|
|
|
|
|
для: AlMag
(20.08.2008 в 19:09)
| |
<?
$parameters = new Test; //создаем класс
$parameters -> account = $username; //в который помещаем параметры
$parameters -> password = $password; //для передачи серверу
$client = new SoapClient ("https://www.somewebsite.com/Service.asmx?wsdl", array('classmap' => array('CheckUser' => 'Test'))); //создаем экзепляр класса SoapClient
// при этом запришиваем wsdl файл с описанием методов и их параметров
// так же передаем на сервер массив параметров
$client -> CheckUser ($parameters); //запрашиваем один из методов SOAP.
//Он должен быть описан в wsdl файле
//Список и тип получаемых параметров так же должен быть там описан
//и тип возвращаемого результата, кстати, тоже
|
| |
|
|
|
|
|
|
|
для: Loki
(21.08.2008 в 19:48)
| | тоесть, если у меня wsdl файл имеет, например, следующий вид
<message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>
<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>
|
то запрос будет таким
<?
$parameters = new getTermRequest;
$parameters -> term = $term;
$client = new SoapClient ("https://www.somewebsite.com/Service.asmx?wsdl", array('glossaryTerms' => array('getTerm' => 'getTermRequest')));
$client -> getTermRequest ($parameters);
?>
|
? | |
|
|
|
|
|
|
|
для: AlMag
(22.08.2008 в 10:15)
| | Скорее таким:
<?
$client = new SoapClient ("https://www.somewebsite.com/Service.asmx?wsdl");
$client -> getTerm (array($term));
|
Второй параметр при создании SoapClient является необязательным и используется в случае если это требует удаленный сервер (например, авторизация) или работа ведется в nonwsdl mode (даже не разбирался что это).
методу _call я обычно передаю массив. К сожалению, он требует строго соблюдать порядок следования аргументов. Передавать объект - не пробовал. Возможно, в этом случае будет и удобнее. | |
|
|
|
|
|
|
|
для: Loki
(22.08.2008 в 11:39)
| | Понял! Спасибо!
P. S. осталось только понять как автоматизировать создание wsdl файла сервером soap | |
|
|
|