Добрый день, делаю интеграцию с веб сервисом, в SOAPUI код запроса выглядит так:
POSThttp://217.159.234.93:8080/epmx/services/messagesService.wsdl HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Authorization: Basic NzEwMTQ3MjpmeG05V2syaA==
Content-Length: 1025
Host: 217.159.234.93:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
.... далее код запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://service.core.epmx.application.eestipost.ee/xsd">
все хорошо отрабатывает получаю файл ответа.
Но когда пытаюсь оформить в 1С, не получается.
POST
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
Authorization: Basic NzEwMTQ3MjpmeG05V2syaA==
Content-Length: 1025
Host: 217.159.234.93:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
.... далее код запроса
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://service.core.epmx.application.eestipost.ee/xsd">
все хорошо отрабатывает получаю файл ответа.
Но когда пытаюсь оформить в 1С, не получается.
По теме из базы знаний
- Веб-сервисы в 1С8, обработка тестирования произвольного веб-сервиса
- Передача больших пакетов через веб-сервисы
- Merlion Commander Версия 1.3.9.2 - июль 2022 г. (Интеграция с 1С: УT, редакция 11.4, 1С:Розница 2.3,1С:ERP Управление предприятием 2, УТ 10.3, редакция веб-сервиса MERLION API 3.0 от 18.08.2021)
- 5 ситуаций, когда в экосистеме 1C нужны веб-сервисы
- Интеграция с Веб сервисом ГИИС ДМДК
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот мой код полностью:
URL = "testeservice.post.ee/epmx/services/messagesService";
WSDL = "http://217.159.234.93:8080/epmx/services/messagesService.wsdl";
UserName= "7101472";
Password= "fxm9Wk2h";
MyEmail= "rabanik@mail.ru";
BarCode= "JJEEKLIENT00000000001";
Парам = СокрЛП("
|<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:xsd=""http://service.core.epmx.application.eestipost.ee/xsd"">
|<soapenv:Header/>
|<soapenv:Body>
|<xsd:businessToClientMsgRequest>
|<partner>7101472</partner>
|<interchange msg_type=""elsinfov1"">
|<header file_id=""12345"" sender_cd=""7101472"" />
|<item_list>
|<item service=""PA"">
| <add_service>
|<option code=""ST""/>
|<option code=""SF""/>
| </add_service>
|<measures weight=""1"" length=""0"" width=""0"" height=""0"" />
|<comment>Comment</comment>
|<receiverAddressee>
|<person_name>Receiver name</person_name>
|<mobile>66666666</mobile>
|<email>test@ytest.com</email>
|<address country=""LT"" offloadPostcode=""88831""/>
|</receiverAddressee>
|<returnAddressee>
|<person_name>Sender name</person_name>
|<phone>56123456</phone>
||<email>test@test.lv</email>
|<address postcode="" 02244"" deliverypoint=""Vilnius"" country=""LT"" street="" Kirtimш 47- 210""></address>
|</returnAddressee>
|</item>
|</item_list>
|</interchange>
|</xsd:businessToClientMsgRequest>
|</soapenv:Body>
|</soapenv:Envelope>
|");
ssl = Новый ЗащищенноеСоединениеOpenSSL(
Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Выбирать),
Новый СертификатыУдостоверяющихЦентровWindows());
// сервер использует защищенное соединение (https),
// для подключения к серверу используется прокси
ПроксиСервер = Новый интернетПрокси;
ПроксиСервер.Пользователь = UserName;
ПроксиСервер.Пароль = Password;
Соединение = Новый HTTPСоединение(WSDL,,UserName,Password,ПроксиСервер,,ssl);
//Соединение = Новый HTTPСоединение(WSDL,,UserName,Password,,,ssl);
//POST
// подготовим файл с данными для отправки
имяФайлаОтправки = ПолучитьимяВременногоФайла("xml");
ОбъектXML = Новый ЗаписьXML;
ОбъектXML.ОткрытьФайл(имяФайлаОтправки, "UTF-8");
ОбъектXML.ЗаписатьОбъявлениеXML();
ОбъектXML.ЗаписатьБезОбработки(Парам);
ОбъектXML.Закрыть();
ФайлОтправки = Новый Файл(имяФайлаОтправки);
РазмерФайлаОтправки = XMLСтрока(ФайлОтправки.Размер());
Заголовки = Новый Соответствие();
Заголовки.Вставить("POST http://217.159.234.93:8080/epmx/services/messagesService.wsdl HTTP/1.1");
Заголовки.Вставить("Accept-Encoding:","gzip,deflate");
Заголовки.Вставить("Content-Type:", "text/html;charset=utf-8");
Заголовки.Вставить("Authorization:", "Basic NzEwMTQ3MjpmeG05V2syaA==");
Заголовки.Вставить("SOAPAction:", "");
Заголовки.Вставить("Content-Lenght:", РазмерФайлаОтправки);
Заголовки.Вставить("Host:", "217.159.234.93:8080");
Заголовки.Вставить("Connection:", "Keep-Alive");
Заголовки.Вставить("User-Agent:", "Apache-HttpClient/4.1.1 (java 1.5)");
имяВыходногоФайла = ПолучитьимяВременногоФайла("xml"); // наш сервер возвращает ответы в виде XML
Соединение.ОтправитьДляОбработки(имяФайлаОтправки,URL,имяВыходногоФайла,Заголовки);
Показать
А вот код через прокси:
ОпределениеТ= Новый WSОпределения("https://testeservice.post.ee/epmx/services/messagesService.wsdl",UserName,Password,,,Новый ЗащищенноеСоединениеOpenSSL());
Здесь проблема в том, что я не знаю какие параметры нужно отправлять методом "addrcardMsg" ???? ((((
ОпределениеТ= Новый WSОпределения("https://testeservice.post.ee/epmx/services/messagesService.wsdl",UserName,Password,,,Новый ЗащищенноеСоединениеOpenSSL());
WSСервис = ОпределениеТ.Сервисы[0];
ПроксиСервер = Новый ИнтернетПрокси;
ПроксиСервер.Пользователь = UserName;
ПроксиСервер.Пароль = Password;
ПроксиWS = Новый WSПрокси(ОпределениеТ, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя,ПроксиСервер,,Новый ЗащищенноеСоединениеOpenSSL());
ПроксиWS.addrcardMsg(имяФайлаОтправки,// -- ???????);
Здесь проблема в том, что я не знаю какие параметры нужно отправлять методом "addrcardMsg" ???? ((((
(9) В МЫ подгрузил. Логин пароль легко узнать через Authorization: Basic NzEwMTQ3MjpmeG05V2syaA==
там сложная структура при этом являющаяся полем
private string partner;
private AddressCardTo sendAddressCardTo;
private string cardReceiverEmail;
private string[] barcodes;
private ExportFormatType format;
private bool formatSpecified;
там сложная структура при этом являющаяся полем
private string partner;
private AddressCardTo sendAddressCardTo;
private string cardReceiverEmail;
private string[] barcodes;
private ExportFormatType format;
private bool formatSpecified;
(11) Serginio,
ВебСервис = WSСсылки.WSСсылка_Omniva.СоздатьWSПрокси("http://service.core.epmx.application.eestipost.ee/xsd","messagesService","messagesServicePortTypeSoap12");
ОтветВебСервиса= ВебСервис.businessToClientMsg(имяФайлаОтправки);
Теперь система выдает ошибку: ОтветВебСервиса= ВебСервис.businessToClientMsg(имяФайлаОтправки); по причине: Несоответствие типов (параметр номер '1')
ВебСервис = WSСсылки.WSСсылка_Omniva.СоздатьWSПрокси("http://service.core.epmx.application.eestipost.ee/xsd","messagesService","messagesServicePortTypeSoap12");
ОтветВебСервиса= ВебСервис.businessToClientMsg(имяФайлаОтправки);
Теперь система выдает ошибку: ОтветВебСервиса= ВебСервис.businessToClientMsg(имяФайлаОтправки); по причине: Несоответствие типов (параметр номер '1')
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот