За последние 24 часа нас посетили 52618 программистов и 3376 роботов. Сейчас ищут 1070 программистов ...

php SoapServer

Тема в разделе "PHP для новичков", создана пользователем bimply, 14 апр 2016.

  1. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    466
    Симпатии:
    18
    Необходимо реализовать службу, которая работает по SOAP протоколу

    Код (Text):
    1.  
    2. <?php
    3. // server.php
    4. class MyService
    5. {
    6.     public function add($x, $y)
    7.     {
    8.         return $x + $y;
    9.     }
    10. }
    11.  
    12. $server = new SOAPServer(null,array("uri"=>"http://localhost/1.php"));
    13. $server->setObject(new MyService());
    14. $server->handle();
    15. ?>
    Есть вопросы:
    1. Тестирую соап клиентом, можно как то получить список функций для soap ui например?
    2. Как вызывать функцию, которой передается массив объектов?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    В документации примеры есть?
     
  3. bimply

    bimply Активный пользователь

    С нами с:
    13 авг 2012
    Сообщения:
    466
    Симпатии:
    18
    Я как раз оттуда пример и взял.
    Там она не особо хорошая, на английском языке + не дает такого уж очевидного ответа на поставленные вопросы
    --- Добавлено ---
    Код (Text):
    1. class MyService
    2. {
    3.     public function add($x, $y)
    4.     {
    5.         return $x + $y;
    6.     }
    7. }
    8.  
    9. function UploadOrderList($oList){
    10.    
    11.    
    12.    
    13. };
    14.  
    15.  
    16. try{
    17. $server = new SOAPServer("soapservice.wsdl");
    18. }catch(Exception $fault){
    19.     echo "proDJ";
    20. echo $fault->getMessage() . "\n";
    21. phpinfo();
    22. }
    23. sleep(50);
    Вот ещё пример.
    Тут почему то в catch блок не попадает.
    Код (Text):
    1. <SOAP-ENV:Envelope><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>WSDL</faultcode><faultstring>SOAP-ERROR: Parsing WSDL: Couldn't bind to service</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>