Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SOAP запросы
 
 автор: ZeeG   (29.11.2009 в 11:17)   письмо автору
 
 

Всем привет
Никак не могу разобраться с 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 в 16:00)   письмо автору
 
   для: ZeeG   (29.11.2009 в 11:17)
 

Никто не поможет?

  Ответить  
 
 автор: zeeg   (30.11.2009 в 16:44)   письмо автору
 
   для: 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 в 18:08)   письмо автору
 
   для: zeeg   (30.11.2009 в 16:44)
 

Кто-нить дайте хоть намёк что не так делаю.

  Ответить  
 
 автор: VITtek   (30.11.2009 в 20:24)   письмо автору
 
   для: 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($chCURLOPT_URL$API_URL );
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
curl_setopt($chCURLOPT_TIMEOUT60);
curl_setopt($chCURLOPT_POSTFIELDS$xml);
curl_setopt($chCURLOPT_USERAGENT$user_agent);

//отправка заголовков сайту
$header[] = 'SOAPAction: "'.$API_URL.'"';
$header[] = "MIME-Version: 1.0";
$header[] = "Content-type: text/xml; charset=utf-8";

curl_setopt($chCURLOPT_HTTPHEADER$header);
$result curl_exec($ch);
curl_close($ch);
print_r($result);
?>


Выдает ответ:
Object Moved
This document may be found here

Если ответ не корректен, значит xml-код составлен не верно. Либо отправка происходит не на тот сайт.

  Ответить  
 
 автор: ZeeG   (01.12.2009 в 10:49)   письмо автору
 
   для: VITtek   (30.11.2009 в 20:24)
 

Спасибо. Немного подправил и вроде все работает.
Очень помогли. Спасибо

  Ответить  
 
 автор: ZeeG   (04.12.2009 в 11:44)   письмо автору
 
   для: ZeeG   (01.12.2009 в 10:49)
 

Извините, а не подсткажете как можно реализовать все то же самое, но с помощью библиотеки nuSoap? Спасибо за помощь.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования