За последние 24 часа нас посетили 20915 программистов и 1618 роботов. Сейчас ищут 1088 программистов ...

SOAP для блондинок

Тема в разделе "Вопросы от блондинок", создана пользователем Kreker, 15 сен 2009.

  1. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Никак не пойму, как делать простые SOAP-запросы:
    Через интерфейс PHP SOAP, как я понял такое не получится. Нужно через сокеты что-ли отсылать? Или лучше написать wsdl, через который обращаться?
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Ну так там через wsdl решено. По-другому никак?
     
  3. Это SOAP, детка. По другому - это не SOAP. =)
     
  4. Koc

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

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    я ваще нифига не понимаю. Это мы обычную xml-ку получаем же в ответ?
     
  5. basist

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

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    как я понимаю - что отдашь серверной частью, то и получаешь. я вот ассоц. массив получаю всегда.

    флоппик, поясни плиз, если я буду делать не так

    PHP:
    1.  
    2. <?php
    3. $client = new SoapClient("http://site.loc/api/service.wsdl");
    4.  
    а вот так:
    PHP:
    1.  
    2. <?php
    3. $client = new SoapClient(null, array('location'   => "http://site.loc/api/server.php",
    4.                                      'uri'        => "http://site.loc/api/",
    5.                                      'trace'      => 1,
    6.                                      'exceptions' => 0));
    7.  
    8.  
    то это уже не SOAP чтоли получается? хотя и без wsdl
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Ну его этот соап, лишняя трата ресурсов :)
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Мне нужно интегрировать менеджмент-программу с веб-порталом. Долго, фигово, знаю. Но от разработчика программы у меня есть мануал, где написано, что посылаешь такой-то запрос (пример выше) по SOAP-протоколу, получаешь такой-то ответ.
    И что мне, десяток запросов переделывать в wsdl?
     
  8. kostyl

    kostyl Guest

    ну если удаленный сервис не планирует меняться и он такой не хороший, что у него нет wsdl, тогда в принципе можешь склепать его сам...
     
  9. basist

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

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    как я понимаю ситуация такая: есть прога - клиентская часть, а тебе надо сделать серверную?
    значит надо сделать метод GetVacancies, который получит переменную is_active и всё, а потом zend-studio по этому файлу сам тебе сгенерирует wsdl-файл. (ну или не zend, я только им пользовался для этого)

    м.б. я не понимаю сути, поправьте что не так?
     
  10. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Да я сам не понимаю сути. Там в мануале типа написано, посылаете по SOAP такую фигню, получаете такую. Но послать такую фигню пока не удается, не пойму как.
     
  11. basist

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

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    так тебе надо послать эту фигню и получить другую, или получить фигню, обработать и отдать результат?
    иными словами что дано, а что надо сделать?
     
  12. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Именно это

    Нужно послать ту фигню, которая написана в первом посте.
     
  13. kostyl

    kostyl Guest

    Надо типа:
    $s = new SoapClient(...);
    $s->_call("GetVacancies", array("is_arcive"=>1));
    типа того...
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    SOAP от WSDL отличается как TCP от HTTP. Если SOAP-сервер работает с WSDL, слать ему надо соответствующий XML.
     
  15. Kreker, по моему, ты совсем все напутал. WSDL, это файл на сервере с описанием возможностей, доступных через SOAP.

    В общем, стукнись лучше в аську.
     
  16. basist

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

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    а я всегда слал что угодно, но не xml... и никакой разницы не видел с wsdl работаю или напрямую подключаю серверную часть.
    флоппик, ответь пожалуйста на мой вопрос выше
     
  17. kostyl

    kostyl Guest

    basist
    та маладец, маладец...
     
  18. basist

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

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    kostyl, вот опять ты за своё.. вместо того чтоб сказать прав я или нет начинаешь издеваться. я всего лишь хочу узнать что правильно а что нет. может быть я всегда думал не правильно.
     
  19. kostyl

    kostyl Guest

    basist
    блин почитай в мануале, ты же от туда взял, че зудить та?
     
  20. я не могу ответить на твой вопрос, потому что сам ситуации не знаю, и пытаюсь узнать.