|
|
|
| Всем привет
Никак не могу разобраться с SOAP запросами. Помогите пожалуйста.
Скачал библиотеку nuSoap, почитал, но вот как-то без успехов
нужно сделать запрос:
POST /WS/Service.asmx HTTP/1.1
Host: services.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetTitle"
<?xml version="1.0" encoding="utf-8"?>
<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>
<GetTitle xmlns="http://tempuri.org/">
<sLang>string</sLang>
</GetTitle>
</soap:Body>
</soap:Envelope>
|
несколько дней уже пытаюсь, но увы.
Если можно, вразумите и поставьте на путь истинный
Спасибо | |
|
|
|
|
|
|
|
для: ZeeG
(29.11.2009 в 11:17)
| | Никто не поможет? | |
|
|
|
|
|
|
|
для: ZeeG
(29.11.2009 в 16:00)
| | Немного разобрался, но приходит некая ошибка. Делаю так:
$client = new soapclient("http://services.com/WS/Service.asmx?WSDL",array('trace' => 1, 'exceptions' => 0));
$params = array('sLang'=>'RU');
print($client->call('GetTitle', $params));
выдаёт:
<?xml version='1.0' encoding='utf-8'?><ROWSET><error>Object reference not set to an instance of an object.</error></ROWSET>
|
| |
|
|
|
|
|
|
|
для: zeeg
(30.11.2009 в 16:44)
| | Кто-нить дайте хоть намёк что не так делаю. | |
|
|
|
|
|
|
|
для: ZeeG
(30.11.2009 в 18:08)
| |
<?php
header ('Content-type: text/xml; charset=utf-8'); //выводит в браузер как xml
//Код xml который нужно отправить
$xml='<?xml version="1.0" encoding="utf-8"?>
<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>
<GetTitle xmlns="http://tempuri.org/">
<sLang>string</sLang>
</GetTitle>
</soap:Body>
</soap:Envelope>';
//Куда отравляем
$API_URL='http://services.com/WS/Service.asmx';
$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_URL );
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
//отправка заголовков сайту
$header[] = 'SOAPAction: "'.$API_URL.'"';
$header[] = "MIME-Version: 1.0";
$header[] = "Content-type: text/xml; charset=utf-8";
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$result = curl_exec($ch);
curl_close($ch);
print_r($result);
?>
|
Выдает ответ:
Object Moved
This document may be found here
Если ответ не корректен, значит xml-код составлен не верно. Либо отправка происходит не на тот сайт. | |
|
|
|
|
|
|
|
для: VITtek
(30.11.2009 в 20:24)
| | Спасибо. Немного подправил и вроде все работает.
Очень помогли. Спасибо | |
|
|
|
|
|
|
|
для: ZeeG
(01.12.2009 в 10:49)
| | Извините, а не подсткажете как можно реализовать все то же самое, но с помощью библиотеки nuSoap? Спасибо за помощь. | |
|
|
|