Вообщем есть сервис у алеана, мне надо с него вытащить отели и их данные. Все легально естественно. Дали тестовый доступ. Собственно согласно доке надо отправить запрос с параметрами и получить сессию авторизации и тут вот проблема... PHP: $soap_request = ' <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:webservice-electrasoft-ru:types-ewsServerIntf-IewsServer"> <soapenv:Header/> <soapenv:Body> <urn:Login soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <UserAlias xsi:type="xsd:string">API_Supertest</UserAlias> <Password xsi:type="xsd:string">API_Supertest_pass</Password> <Timeout xsi:type="xsd:unsignedInt">900000</Timeout> </urn:Login> </soapenv:Body> </soapenv:Envelope>'; $urlwsdl = 'http://extgate.alean.ru:8082/webservice/ewebsvc.dll/wsdl/IewsServer'; $connectStd = array("UserAlias"=>"API_Supertest", "Password"=>"API_Supertest_pass", "Timeout"=>90000); $soapClientOptions = array( 'trace'=>1 ); try { $soapClient = new SoapClient($urlwsdl, $soapClientOptions); $response1 = $soapClient->Login($connectStd); } catch (SoapFault $e) { // ошибка SOAP канала echo 'Ошибка SOAP-канала! '. $e->getMessage(); } print_r($response1); возвращается - Ошибка SOAP-канала! as_InvalidConnection Однако, если отправить запрос $response1 = $soapClient->Login(); то получим ответ PHP: Array ( [SessionID] => {00000000-0000-0000-0000-000000000000} [return] => lrAccessDenied ) Уже голову сломал как передать параметры тестовые. soap_request - это из доки пример запроса для авторизации. Если через curl отправить - срабатывает и возвращается xml ответ, но там в таком виде, что заморишься разбирать... Поддержка их не знает или не хочет помогать.... помогите если кто в курсе как их победить
Вопрос, конечно, должен быть к поддержке. Лино я не понял фразу "возвращается - *** Однако, если отправить запрос ..." Ты отправляешь запрос несмотря на то, что перед этим есть ошибка? Так это точно не работает. Если дашь в личку данные для соединения, я могу попробовать.
Добрый день! Вы получаете одинаковый результат, когда применяете метод Login с параметрами и без них. (InvalidConnection и 0-SessionID + lrAccessDenied - тоже яйцо на вид сбоку) Из этого следует, что у Вас нет доступа к сервису через SOAP. В логах на сервисе можно легко проверить причину, по которой клиенту отказано в доступе. Если Вы успешно получили доступ через curl, то обратите внимание на то, что на сервисе Алеан есть полный SOAP API и Search-API, "к которому вы отправляете запросы методом GET и получаете ответы в виде обычного XML или JSON". https://www.alean.ru/page/ta-api/?label=diff Удачи!