|
Обращение к веб-сервису 1С | ☑ | ||
---|---|---|---|---|
0
fatal_error
28.04.15
✎
06:28
|
Добрый день. Есть веб-сервис 1С. Как обратиться к нему, если веб-сервис и html страница, из которой обращаюсь к сервису, находятся на разных серверах?
|
|||
1
Стальная Крыса
28.04.15
✎
06:35
|
шутка такая ?
web-серверу не все ли равно от куда к нему обращаются ? |
|||
2
fatal_error
28.04.15
✎
06:43
|
да нет, не шутка.
когда веб-сервис 1С и html страница из которой обращаюсь находятся на одном сервере - то все в порядке. |
|||
3
rphosts
28.04.15
✎
06:44
|
(2)пинг до компа с вебсервисом есть?
если с того компа с которого обращаешься к вебвервису в строке УРЛ браузера указать путь до вебсервиса что-то видно? |
|||
4
fatal_error
28.04.15
✎
06:47
|
(3) да, когда вбиваю путь до сервиса, выходит wsdl
|
|||
5
fatal_error
28.04.15
✎
06:53
|
вот код обращения
function hello() { getBrowser(); xmlhttp = getXmlHttp(); xmlhttp.open('POST', 'http://тут-ip-сервера/webservices/ws/ws1.1cws', true); xmlhttp.onreadystatechange = function() {OnReadyStateHello(xmlhttp)} xmlhttp.send('<?xml version="1.0" encoding="UTF-8"?>' + '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header/>' + '<soap:Body> <m:hello xmlns:m="namespace.kz"/> </soap:Body>' + '</soap:Envelope>'); } function OnReadyStateHello(xmlhttp) { if (xmlhttp.readyState == 4) { if(xmlhttp.status != 200) { alert("Запрос завершился неудачно. Ответ сервера: " + xmlhttp.responseText) } else{ var DOM = xmlhttp.responseXML.getElementsByTagName(IE("return"))[0] var response = DOM.childNodes[0].data document.getElementById("ОтветСервера").appendChild(document.createTextNode(response)) } } } |
|||
6
sda553
28.04.15
✎
06:54
|
(4) и на какой строке с какой ошибкой есть проблема?
|
|||
7
fatal_error
28.04.15
✎
06:55
|
if(xmlhttp.status != 200) - вот тут статус 0
|
|||
8
sda553
28.04.15
✎
06:56
|
(5) Хоспадя, это javascript же. Скриптом xmlhttp можно обращаться к данным только своего сайта на котором работает скрипт. Чужие сайты запрашивать этой xmlhttp нелзя. Это основной принцип аякса.
Тебе надо из php запрос делать |
|||
9
rphosts
28.04.15
✎
06:57
|
со стороны 1С не требуется авторизации?
|
|||
10
fatal_error
28.04.15
✎
06:59
|
(8) только php и все?
(9) требуется, но это не проблема, появляется окошко логина, пароля и после ввода веб сервис работает нормально |
|||
11
sda553
28.04.15
✎
07:02
|
(10) нет, еще можешь скрипт с этой парой функций выложить на том же сайте где сервис. А на этом сайте просто указать адрес фалй скрипта js.
Главное, чтобы js с функцией xmlhttp и сайт который эта функция запрашивает был один |
|||
12
fatal_error
28.04.15
✎
07:04
|
спасибо, буду делать
|
|||
13
Art igloo
28.04.15
✎
08:38
|
(8) Есть же обходные пути, CORS, jsonp.
Причем тут php, а если у меня сайт на Ruby как тут PHP поможет.. |
|||
14
Nikoss
28.04.15
✎
09:15
|
(13), есть пример?
|
|||
15
Art igloo
28.04.15
✎
09:22
|
||||
16
sda553
28.04.15
✎
09:34
|
(13) "на php" означало "на сервере", ничего не имею против руби
(15) я в курсе, что такое jsonp но я не понимаю, как при его помощи я могу реквестить любоя сайт с аякс-сервисом, если тем сайтом я не управляю |
|||
17
Stim
28.04.15
✎
09:43
|
используй soap
|
|||
18
Art igloo
28.04.15
✎
09:58
|
(16) Я думал что автор управляет, просто обращается к сервису с другого домена. Если нет, тогда да, только запрос с сервер сайд PHP, Ruby, и т.д.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |