Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: SOAP: формирование простого xml запроса.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Необходима помощь знатоков в формировании xml запроса к SOAP серверу.
mac0s
Отправлено: 25 Октября, 2013 - 11:03:10
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




Доброе время суток.
Измучился весь. Нужен пример построения простого xml запроса:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ais="http://soap-server.ru/">
  3.         <soap:Header/>
  4.         <soap:Body>
  5.                 <ais:Logon>
  6.                         <ais:Login>login</ais:Login>
  7.                         <ais:Password>pass</ais:Password>
  8.                 </ais:Logon>
  9.         </soap:Body>
  10. </soap:Envelope>
  11.  


Прямой запрос выполняется:
CODE (php):
скопировать код в буфер обмена
  1.  
  2. try {
  3.         $login = 'login';
  4.         $pass = '***';
  5.         $request='
  6.                 <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ais="http://soap-server.ru">
  7.                 <soap:Header/>
  8.                 <soap:Body>
  9.                         <ais:Logon>
  10.                                 <ais:Login>'.$login.'</ais:Login>
  11.                                 <ais:Password>'.$pass.'</ais:Password>
  12.                         </ais:Logon>
  13.                 </soap:Body>
  14.         </soap:Envelope>';
  15.         $soapClient = new SoapClient(null, array('location'=>"",'uri'=>""));
  16.         $response = $soapClient->__doRequest($request, 'https://soap-server.ru/uri', 'http://soap-server.ru/Logon',SOAP_1_2);
  17.         print_r($response);
  18. }
  19. catch (SoapFault $exc) {
  20.         print_r($exc->getMessage());
  21. }
  22.  


но перепробовал всевозможные способы формирования xml с помощью soap библиотеки и ничего не вышло.
Валятся ошибки:

или если обращаться к wsdl серверу, то
CODE (text):
скопировать код в буфер обмена
  1. SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://soap-server.ru/uri?WSDL' : failed to load external entity "http://soap-server.ru/uri?WSDL"


Варианты:
CODE (php):
скопировать код в буфер обмена
  1.  
  2. $login = 'login';
  3. $pass = '***';
  4. try {
  5.         $connectArr = array(
  6.                 'Login'=>$login,
  7.                 'Password'=>$pass
  8.         );
  9.         $connectArr2 = array(
  10.                 'Logon'=>array(
  11.                         'Login'=>$login,
  12.                         'Password'=>$pass
  13.                 )
  14.         );
  15.  
  16.         $connectStd = new stdClass();
  17.         $connectStd->Login=$login;
  18.         $connectStd->Password=$pass;
  19.  
  20.         $connectStd2 = new stdClass();
  21.         $connectStd2->Logon = new stdClass();
  22.         $connectStd2->Logon->Login=$login;
  23.         $connectStd2->Logon->Password=$pass;
  24.  
  25.         $soapParams = array(
  26.                 new SoapParam($login,"Login"),
  27.                 new SoapParam($pass,"Password")
  28.         );
  29.         $soapParams2 = array(
  30.                 new SoapParam(array(
  31.                         new SoapParam($login,"Login"),
  32.                         new SoapParam($pass,"Password")
  33.                 ),"Logon"),
  34.         );
  35.  
  36. //      $wsdl = 'http://soap-server.ru/uri?WSDL';
  37. //      $soapClient = new SoapClient($wsdl);
  38. //      $soapClient = new SoapClient($wsdl,$connectArr);
  39.         $soapClient = new SoapClient(null, array(
  40.                 'location' => "https://soap-server.ru",
  41.                 'uri'      => "uri",
  42. //              'Logon'=>$connectArr
  43.         ));
  44.  
  45.         $response=array();
  46. //      $response['v1'] = $soapClient->__soapCall('Logon', $connectArr);
  47. //      $response['v2'] = $soapClient->__soapCall('Logon', $connectArr2);
  48. //      $response['v3'] = $soapClient->Logon($connectArr);
  49.         $response['v4'] = $soapClient->Logon($connectArr2);
  50.         print_r($response);
  51. }
  52. catch (SoapFault $exc) {
  53.         print_r($exc->getMessage());
  54. }
  55.  
 
 Top
mac0s
Отправлено: 25 Октября, 2013 - 14:48:18
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2013  


Помог: 0 раз(а)




 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB