soap client не может подконнектиться

410
21 декабря 2016, 04:22

Все работало, пока в один прекрасный момент не решили поменять все коннекты, в итоге 1с-ник настроил связь через другой порт и дал ссылку вида (раньше работало без порта, подразумеваю по стандартному):

http://00.000.000.000:55/Trade/ws/SiteExchange?wsdl (не пишите, типо, как оно работает с 0-лями... Это замененные данные)

И теперь постоянно ошибка. Может кто-то что-то подскажет... Вот кусок кода:

try {
    $client = new SoapClient('http://00.000.000.167/Trade/ws/SiteExchange?wsdl',
        array('login'        => 'user',
            'password'       => 'pass',
            'soap_version'   => SOAP_1_2,
            'cache_wsdl'     => WSDL_CACHE_NONE, //WSDL_CACHE_MEMORY, //, WSDL_CACHE_NONE, WSDL_CACHE_DISK or WSDL_CACHE_BOTH
            'exceptions'     => true,
            'trace'          => 1));
} catch(SoapFault $e) {
    trigger_error('Ошибка подключения или внутренняя ошибка сервера. Не удалось связаться с базой 1С.', E_ERROR);
    var_dump($e);
}

P.S. Если вбить ссылку просто в браузер то запросит логин и пасс, и введя их отдаст информацию...

Answer 1

Клиент не может загрузить wsdl. Я так понимаю, что сам wsdl у вас тоже закрыт за http basic авторизацией.

SoapClient не пытается использовать параметры login и password для получения wsdl и предполагает, что документ доступен по прямой ссылке без авторизации. Но стандартную запись авторизации непосредственно в URL понимает и может использовать:

$client = new SoapClient(
    'http://' . urlencode($login) . ':' . urlencode($password) 
      . '@00.000.000.167/Trade/ws/SiteExchange?wsdl',
    array('login'        => $login,
        'password'       => $pass,
        'soap_version'   => SOAP_1_2,
        'cache_wsdl'     => WSDL_CACHE_NONE,
        'exceptions'     => true,
        'trace'          => 1));
READ ALSO
Загрузка изображений на сервер

Загрузка изображений на сервер

Возникла проблема с загрузкой изображений на сервер (локальный Openserver)

400
Не отрабатывает скрипт с сервера

Не отрабатывает скрипт с сервера

Здравствуйте, запускаю скрипт из консоли сервера php -f path/constructorphp & Вот скрипт:

299
Проблемы с Mcrypt ubuntu

Проблемы с Mcrypt ubuntu

В чем может быть проблема? Уже перепробовал все,всеравно не подключается библиотекаВ phpinfo показывает что /etc/php5/apache2/conf

295
Проблема в выполнением sql запроса

Проблема в выполнением sql запроса

Поблема с выполнением sql запроса, вот код,возвращает ошибку

293