интеграция
magento
веб-сервис
web-запрос
7.13_()
sales

Доброго дня.

Необходима интеграция с корзиной сайта, откуда заказы валятся на Magento 1.

Настроено API: есть URL-адрес для подключения с Magento, user и login.

Не понятна сама настройка веб-сервиса в bpm'online. Сталкивался ли кто-то с данной интеграцией, либо может кто-то теоретически понимает это?

Нравится

2 комментария
Лучший ответ

Добрый день!

Не уверен, что есть какой-то готовый коннектор (по крайней мере на маркете я ничего не нашёл), но в любом случае, можно запилить свою интеграцию через свой SOAP сервис. Правда для этого нужны компетенции и в bpm и в api magento.

Дополнение. Подключение посредством SOAP.

Добрый день!

Не уверен, что есть какой-то готовый коннектор (по крайней мере на маркете я ничего не нашёл), но в любом случае, можно запилить свою интеграцию через свой SOAP сервис. Правда для этого нужны компетенции и в bpm и в api magento.

Показать все комментарии
7.3
web-запрос
Технические вопросы
7.x

Здравствуйте!
При попытке отправить запрос на получение данных (обращение идет по https)
возникает следующая ошибка.

XMLHttpRequest cannot load https://www.crediweb.lv/axis2/services/Info?wsdl. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://softex-iis:8896' is therefore not allowed access.

Как разрешить доступ к другим сайтам?

Нравится

1 комментарий

Прошу прощения, случайно опубликовалось 2 раза

Показать все комментарии
7.3
web-запрос
Технические вопросы
7.x

Здравствуйте!
При попытке отправить запрос на получение данных (обращение идет по https)
возникает следующая ошибка.

XMLHttpRequest cannot load https://www.crediweb.lv/axis2/services/Info?wsdl. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://softex-iis:8896' is therefore not allowed access.

Как разрешить доступ к другим сайтам?

Нравится

11 комментариев

А где именно в IIS нужно добавить свойство
Access-Control-Allow-Origin?

Добавил со звездочкой.
Появилась ещё одна ошибка.
ошибка 1

Uncaught InvalidStateError: Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED. SOAPClient.js:194

ошибка 2
XMLHttpRequest cannot load https://www.crediweb.lv/axis2/services/Info?wsdl. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://softex-iis:8896' is therefore not allowed access.

Обязательно указывать имя сайта, к которому обращаюсь? Если да, то в каком формате.
https://www.crediweb.lv/axis2/services/Info так
или www.crediweb.lv/axis2/services/Info

Сейчас веб конфиг выглядит так

----------параметры----------

Скорее всего вы добавили не на том сервере.
Добавьте на том, на который вы обращаетесь:

т.е. должно быть так:

[code]

[/code]

т.е. это надо делать не на softex-iis, а на crediweb.lv.

Что происходит: вы отправляете HTTP запрос в домен crediweb.lv от домена softex-iis. Веб-сервер на crediweb.lv не настроен на прием кросс-доменных запросов (считается не безопасным), поэтому такие запросы отбрасываются, а вам приходит ERROR с текстом из первого поста.

Кстати, из текста ошибки ясно, что сервер таки разрешает кросс-доменные запросы, но вашего локального доменного имени в списке нет. И это правильно, с точки зрения безопасности. Скорее всего, если домен будет не локальным, а чтото вроде tscrm.com - то все будет ОК.

Добрый день.
Скажите, если я прописал данный параметр в конфиге на сервере, должна ли отображаться строка вида "Acces-Control-Allow-Origin: *" в Response Headers запроса?
Как можно добавить данный параметр в заголовок запроса?

Да, в заголовке ответа она должна обязательно присутствовать. Если её не будет, браузер не примет такой ответ.

Если так, то почему в Responce Headers данный параметр не приходит? Возможна ли ситуация, что заголовки переопределяются после составления запроса. Если да, то как это можно исправить?

Request URL:https://www.crediweb.lv/axis2/services/Info?wsdl
Request Headers
Provisional headers are shown
Origin:http://softex-iis:8896
Referer:http://softex-iis:8896/0/Nui/ViewModule.aspx
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36
X-DevTools-Emulate-Network-Conditions-Client-Id:662B2ABF-4722-49B7-90FA-3857A590FF58
Query String Parametersview sourceview URL encoded
wsdl:

Строку вида


в JS коде также пытался установить заголовки следующим кодом:

xmlHttp.setRequestHeader("Access-Control-Allow-Origin", "*");.

[quote="Пащенко Александр Сергеевич"]Origin:http://softex-iis:8896[/quote]
Вот это и есть та строка, которую Вы ожидаете в запросе.

Показать все комментарии
5.x
http
web
web-запрос
Технические вопросы

bpm 5.4 on-site

Как сделать в скрипте HTTP запрос без открытия нового окна?

Например. Мне надо при нажатии на кнопку на некий сервер отправить HTTP GET/POST запрос, чтобы, например, отправилось КП.
http://myserver:4055?exec=sendemail&email=cc-sib@yandex.ru

Как такое сделать?

Нравится

7 комментариев

Илья, эту тему смотрели?
Дополнительно ознакомиться с отправкой GET и POST запросов в C# Вы можете по этой ссылке, пример есть в конфигурации (схема GoogleMapsToolsSchema).

Как подключить библиотеку?

[code]
Не удалось найти имя типа или пространства имен "ActiveXObject" (пропущена директива using или ссылка на сборку?)
AccountEditPage.cs
[/code]

Илья, думаю проще будет использовать код, приведенный во втором варианте(здесь). Так как в случае первого варианта потребуется скачивать и подключать стороннюю библиотеку. Как подключить библиотеку в версии 5.4 описано в этой статье

Написал вот этот код:
[code]
System.Net.WebRequest reqGET = System.Net.WebRequest.Create("http://127.0.0.1:4059/callto?number="+Page.PhoneEdit.Text);
System.Net.WebResponse resp = reqGET.GetResponse();
System.IO.Stream stream = resp.GetResponseStream();
System.IO.StreamReader sr = new System.IO.StreamReader(stream);
string s = sr.ReadToEnd();
Console.WriteLine(s);
[/code]

На некоторых компьютерах код работает, на каких-то нет.
Там где не работает код пробовал запуск с разных браузеров.
Так же там где не работает в браузер вбивал http://127.0.0.1:4059/callto?number=8913....... - запрос выполняется.

Антивирус и брандмауэр отключал, не помогает.

Илья, как проявляется неработоспособность кода (выводятся ошибки, предупреждения)?

ничего не происходит

Илья, значит при выполнении кода на какой-то из строк происходит свал. Нужно пройти пошагово отладчиком скриптов и тогда будет понятна причина.
Либо альтернатива - заключить код в try - catch с выводом в блоке catch Exception.

Показать все комментарии