За последние 24 часа нас посетили 18028 программистов и 1599 роботов. Сейчас ищут 869 программистов ...

Не работает запрос SOAP из PHP

Тема в разделе "Прочие вопросы по PHP", создана пользователем trafficsemaphore, 23 апр 2009.

  1. trafficsemaphore

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

    С нами с:
    23 апр 2009
    Сообщения:
    1
    Симпатии:
    0
    Есть проблема, по которой мало информации в Сети, поэтому решит задать вопрос на форуме.

    Есть веб-сервис 1с поддерживающий обращение через SOAP. Веб-сервис содержит метод "test_ws" с параметром на входе "in_query". Код вызова вебсервиса такой:
    Код (Text):
    1.  
    2. <?
    3. //Логин и пароль кстати лучше использовать английские, иначе не работает авторизация
    4.     $client = new SoapClient("http://192.168.0.1/ws/test.1cws?wsdl",
    5.     array("login" => "login", "password" => "password",'encoding'=>'UTF-8'));
    6.  
    7.  
    8.  
    9. $client->__call(  
    10.  
    11.         "test_ws",  
    12.  
    13.          array(
    14.             new SoapParam(  
    15.                 /* Значение параметра */  
    16.                 "in_query",  
    17.                 /* Имя параметра */  
    18.                 "in_query"  
    19.         ))
    20. );
    21. ?>
    На последней строчке код дает ошибку: Fatal error: Uncaught SoapFault exception: [soap] Ошибка разбора SOAP сообщения: параметр не найден.
    Очевидно что метод не может получить параметр. НЕ работают и следующие варианты вызова метода, которые я нашел в различных примерах и использовал:

    Код (Text):
    1. $client->test_ws(array(new SoapParam("test", "in_query")));
    2. $client->test_ws("in_query");
    Ошибка одна и та же в определении парамера. Подскажите, если кто сталкивался с такой проблемой, либо просто имеет идеи на этот счет. Заранее спасибо.
     
  2. shreck

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

    С нами с:
    7 авг 2007
    Сообщения:
    479
    Симпатии:
    0
    Адрес:
    Россия, Саратов
    Попробуй

    PHP:
    1.  
    2. <?php
    3. $result = $client->test_ws(array('in_query' => 'value'));
    4. var_dump($result);
    5. ?>
    6.