![]() |
|
Интеграция с веб сервисом - Омнива. | ☑ | ||
---|---|---|---|---|
0
Radion
01.02.16
✎
11:30
|
Добрый день, делаю интеграцию с веб сервисом:
имяВыходногоФайла = ПолучитьимяВременногоФайла("xml"); // наш сервер возвращает ответы в виде XML Соединение = Новый HTTPСоединение("217.159.234.93:8080/epmx/services/messagesService.wsdl",8080,Login,Password,,Истина); Соединение.ОтправитьДляОбработки(имяФайлаОтправки,URL,имяВыходногоФайла,Заголовки); Получаю ошибку - Internet error: SSL connect error Как я предполагаю, ошибка возникает из-за сертификата доступа, которого нет в 1С. Или я ошибаюсь? |
|||
1
rphosts
01.02.16
✎
11:40
|
а если порт не 8080 а 443?
|
|||
2
Radion
01.02.16
✎
11:44
|
(1) если порт 443, то ошибка в виде: Internet error: Peer certificate cannot be authenticated with given CA certificates
|
|||
3
rphosts
01.02.16
✎
11:47
|
платформа-то какая?
|
|||
4
Serginio1
01.02.16
✎
11:48
|
Какое еще HTTPСоединение("217.159.234.93:8080/epmx/services/messagesService.wsdl
Если хочешь HTTPСоединение то указывай только сервер Если хочещь подключиться к вэб сервисам то ОпределениеТ=Новый WSОпределения("217.159.234.93:8080/epmx/services/messagesService.wsdl"); WSСервис=ОпределениеТ.Сервисы[0]; ПроксиWS=Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя,,,Новый ЗащищенноеСоединениеOpenSSL()); |
|||
5
aka AMIGO
01.02.16
✎
11:49
|
(0) Извините, а это не эстонцы скалят зубы?
Не пробовал на похожих ресурсах? |
|||
6
rphosts
01.02.16
✎
11:51
|
(4) если его платформа поддерживает HTTPS иначе тоже можно но там или звпускать stunnel или другая любоф с сертификатами.
|
|||
7
rphosts
01.02.16
✎
11:52
|
(5) не, коннектил УАП с Виалон - тоже ещё тот гемор.
|
|||
8
Serginio1
01.02.16
✎
12:02
|
Удаленный сертификат недействителен согласно результатам проверки подлинности
|
|||
9
Serginio1
01.02.16
✎
12:04
|
В браузере
Сертификат безопасности этого веб-сайта был выпущен для веб-сайта с другим адресом. Наличие ошибок в сертификате безопасности может указывать на попытку обмана или перехвата данных, которые вы отправляете на сервер. |
|||
10
Serginio1
01.02.16
✎
12:05
|
А просто по http заходит. Зайди из браузера
|
|||
11
Radion
01.02.16
✎
12:07
|
(10) из браузера захожу, с данным логином и паролем.
|
|||
12
Radion
01.02.16
✎
12:07
|
(5) Эстония, да все правильно.
|
|||
13
Serginio1
01.02.16
✎
12:08
|
(11) Тогда зачем тебе Защищенное соединение?
|
|||
14
Serginio1
01.02.16
✎
12:16
|
Да и с HTTPСоединение проще работать так
http://its.1c.ru/db/metod8dev#content:5574:hdoc:_top:httpзапрос |
|||
15
Radion
01.02.16
✎
12:17
|
(14) Спасибо, все получилось, файл получаю! Спасибо, огромное!
|
|||
16
Radion
01.02.16
✎
15:39
|
Обрадовался раньше времени( Получил такой вот ответ:
because: File access error 'https://testeservice.post.ee/epmx/services/messagesService.wsdl' because: Internet error: access denied (403). <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access /epmx/services/messagesService.wsdl:8080/https://testeservice.post.ee/epmx/services/messagesService.wsdl on this server.</p> </body></html> because: Internet error: access denied (403) |
|||
17
Serginio1
01.02.16
✎
16:10
|
А зачем тебе 8080
|
|||
18
Serginio1
01.02.16
✎
16:11
|
И зачем тебе wsdl?
Смотри 4 |
|||
19
Radion
02.02.16
✎
12:25
|
(17) дали дублирующую ссылку на тестовый веб сервис.
TEST web service URL: https://testeservice.post.ee/epmx/services/messagesService TEST WSDL: https://testeservice.post.ee/epmx/services/messagesService.wsdl При попытке создания ОпределениеТ=Новый WSОпределения("testeservice.post.ee/epmx/services/messagesService.wsdl"); система сразу выдает ошибку - Service description creation error. http://testeservice.post.ee/epmx/services/messagesService.wsdl |
|||
20
Serginio1
02.02.16
✎
13:37
|
(19) Смотри 4
Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>) |
|||
21
Serginio1
02.02.16
✎
13:37
|
ОпределениеТ=Новый WSОпределения("https://testeservice.post.ee/epmx/services/messagesService.wsdl ");
|
|||
22
Serginio1
02.02.16
✎
13:44
|
ОпределениеТ=Новый WSОпределения("https://testeservice.post.ee/epmx/services/messagesService.wsdl">,ИмяПользователя,Пароль);
|
|||
23
Radion
08.02.16
✎
12:38
|
Не пойму, то ли я что то делаю неправильно, то ли веб сервис просто не пашет? Как определить рабочий ли тестовый веб сервис? Проверял через SOAPUI такая же байда, ошибка:
Mon Feb 08 13:32:44 MSK 2016:INFO:Error getting response for [messagesServicePortTypeSoap12.addrcardMsg:Request 1]; org.apache.http.client.ClientProtocolException Написал следующее: MyEmail= "rabanik@mail.ru"; BarCode= "JJEEKLIENT00000000001"; //URL = "https://testeservice.post.ee/epmx/services/messagesService"; URL = "testeservice.post.ee/epmx/services/messagesService"; Парам = СокрЛП(" |<soap:Envelope xmlns:soap=""http://www.w3.org/2003/05/soap-envelope"" xmlns:xsd=""http://service.core.epmx.application.eestipost.ee/xsd""> | <soap:Header/> | <soap:Body> | <xsd:addrcardMsgRequest> | <partner>"+Login+"</partner> | <sendAddressCardTo>email</sendAddressCardTo> | <cardReceiverEmail>"+MyEmail+"</cardReceiverEmail> | <barcodes>"+BarCode+"</barcodes> | <!--Optional:--> | <format>pdf</format> | </xsd:addrcardMsgRequest> | </soap:Body> |</soap:Envelope> |"); ssl = Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Выбирать), Новый СертификатыУдостоверяющихЦентровWindows()); // подготовим файл с данными для отправки имяФайлаОтправки = ПолучитьимяВременногоФайла("xml"); ОбъектXML = Новый ЗаписьXML; ОбъектXML.ОткрытьФайл(имяФайлаОтправки, "UTF-8"); ОбъектXML.ЗаписатьОбъявлениеXML(); ОбъектXML.ЗаписатьБезОбработки(Парам); ОбъектXML.Закрыть(); ФайлОтправки = Новый Файл(имяФайлаОтправки); РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер()); Заголовки = Новый Соответствие(); Заголовки.Вставить("Content-Type", "text/html;charset=utf-8"); Заголовки.Вставить("Content-Lenght", РазмерФайлаОтправки); имяВыходногоФайла = ПолучитьимяВременногоФайла("xml"); // наш сервер возвращает ответы в виде XML //Соединение = Новый HTTPСоединение("217.159.234.93:8080/epmx/services/messagesService.wsdl",8080,Login,Password,,Ложь); //Соединение = Новый HTTPСоединение("testeservice.post.ee/epmx/services/messagesService.wsdl",8080,Login,Password,,Ложь); //Соединение = Новый HTTPСоединение("https://testeservice.post.ee:8080/epmx/services/messagesService.wsdl",,"7101472","fxm9Wk2h",,,ssl); Попытка Соединение = Новый HTTPСоединение("testeservice.post.ee:8080/epmx/services/messagesService.wsdl",,"7101472","fxm9Wk2h",,,ssl); Исключение Сообщить("Не удалось установить соединение с сервером онлайн-проверки:" + Символы.ПС + ИнформацияОбОшибке().Описание, СтатусСообщения.Важное); Возврат; КонецПопытки; Соединение.ОтправитьДляОбработки(имяФайлаОтправки,URL,имяВыходногоФайла,""); Получаю ошибку: {Форма.Форма(171)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки) Соединение.ОтправитьДляОбработки(имяФайлаОтправки,URL,имяВыходногоФайла,""); по причине: Ошибка работы с Интернет: Не могу установить соединение |
|||
24
Radion
08.02.16
✎
12:44
|
(22)
Login: 7101472 Password: fxm9Wk2h ОпределениеТ = Новый WSОпределения("https://testeservice.post.ee/epmx/services/messagesService.wsdl",Login,Password); по причине: При создании описания сервиса произошла ошибка. URL сервиса: https://testeservice.post.ee/epmx/services/messagesService.wsdl по причине: Ошибка работы с Интернет: Удаленный узел не прошел проверку |
|||
25
Serginio1
08.02.16
✎
14:02
|
(24) Добавь в
Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>) Или сохрани через браузер ОпределениеТ=Новый WSОпределения(Путь_К_wsdl); WSСервис=ОпределениеТ.Сервисы[0]; ПроксиWS=Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя,,,Новый ЗащищенноеСоединениеOpenSSL()); |
|||
26
Serginio1
08.02.16
✎
14:07
|
Через WS захожу. Если будешь пользоваться выложу DLL и пример подключения.
|
|||
27
Serginio1
08.02.16
✎
14:08
|
Например Помощь с Web сервисом
|
|||
28
Serginio1
08.02.16
✎
14:50
|
Так работает
ОпределениеТ=Новый WSОпределения("https://testeservice.post.ee/epmx/services/messagesService.wsdl",Login,Password,,,Новый ЗащищенноеСоединениеOpenSSL()); WSСервис=ОпределениеТ.Сервисы[0]; ПроксиWS=Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя,,,Новый ЗащищенноеСоединениеOpenSSL()); |
|||
29
Radion
10.02.16
✎
13:18
|
А как проверить, что предоставили доступный веб сервис? У сомнение что доступ дан. Потому как проверить/тестировать через SOAPUI не получается, сервис выдает ошибку:
Wed Feb 10 14:14:26 MSK 2016:DEBUG:Connection closed Wed Feb 10 14:14:26 MSK 2016:DEBUG:Connection shut down |
|||
30
Serginio1
10.02.16
✎
14:50
|
(29) Ты 28 проверял. Правда нужно еще добавить для вызова методов
проксиWS.Пароль=Password; проксиWS.Пользователь=Login; |
|||
31
Radion
11.02.16
✎
11:51
|
(30) Сергей, мне наконец то удалось отправить запрос и получить ответ в SOAPUI. Нужно было выставить параметр Authorization: Basic NzEwMTQ3MjpmeG05V2syaA==
)) |
|||
32
Serginio1
11.02.16
✎
12:08
|
А зачем тебе SOAPUI? Используй WSПрокси
|
|||
33
Serginio1
11.02.16
✎
12:10
|
Используй Фиддлер. Если бы использовал 28+30 то там как раз и есть WSПрокси
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |