|
v7: Вызов веб сервиса из 7.7, msxml3.dll: Неопознанная ошибка | ☑ | ||
---|---|---|---|---|
0
Gobo
16.04.19
✎
12:10
|
Доброек время суток !
Не нашел открытой темы где обсуждался данный вопрос, поэтому открыл. На клиенте установлен Windows 7 x64. Пробовал так обращаться: Процедура Выполнить() ПараметрыSoap="<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:core=""http://core.webservice.config.core.auction.bas.com/""> |<soapenv:Header/> |<soapenv:Body> |<core:createEntities> | <auth_key>0c18fd768c0cdab0ee41d4c605314259dff9b8cf8c8e4c3a0cb1e24090482c963190d643fe58b75f1bcb45e05cd861c1</auth_key> |<secret_key>8724112f3bf585cbb872f77562d06920d9b613327267dbf4f9190e99f0e35a82</secret_key> |<data_content>![CDATA[{""Организации"": [{ |""Ref"": ""eaf3d8f2-5207-11e5-9b29-000c293829c4"", |""Код"": ""000000001"", |""Наименование"": ""ТОО Cloudmaker""}]} |]] |</data_content> |<!--Optional:--> |<batchId>201</batchId> |<!--Optional:--> |<data_type>json</data_type> |</core:createEntities> |</soapenv:Body> |</soapenv:Envelope>"; Сообщить("ПараметрыSoap="+ПараметрыSoap); об = СоздатьОбъект("MSXML2.XMLHTTP"); об.open("POST", "https://presale.tophr.kz/corews?wsdl"); об.setRequestHeader("Content-Type", "text/xml; charset=utf-8"); об.setRequestHeader("SOAPAction", "http://core.webservice.config.core.auction.bas.com/#CoreWebServiceImplService:CoreWebServiceImplPort"); об.send(ПараметрыSoap); Если об.Status=200 Тогда ТекстОтвета = об.responseXml; КонецЕсли; КонецПроцедуры Получаю ошибку: Если об.Status=200 Тогда {F:\SOAPSENDER.ERT(45)}: msxml3.dll: Неопознанная ошибка Отладчик показывает что объект "об" пустой. |
|||
1
NikVars
16.04.19
✎
12:21
|
Обновления все установлены? Не просит обновиться или перезагрузиться после установки обновлений?
|
|||
2
Gobo
16.04.19
✎
12:27
|
Если вопрос на счет обновления ОС, они отключены.
|
|||
3
MadDAD
16.04.19
✎
14:29
|
(0) попробовать перерегистрировать "msxml3.dll" ?
|
|||
4
serpentt
16.04.19
✎
15:01
|
у меня по httpS не получилось послать.
|
|||
5
craxx
16.04.19
✎
15:04
|
(0) ощущение что XML невалидный
|
|||
6
trad
16.04.19
✎
15:47
|
(5) +1
1. не хватает <?xml version="1.0" encoding="windows-1251"?> Без этого заголовка, xml по умолчанию считается в кодировке utf8 А строка с кириллицей собранная в 77 имеет кодировку ANSI. 2. <soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/""; xmlns:core=""http://core.webservice.config.core.auction.bas.com/"">; тут - никаких точек_с_запятой Но у автора проблема, пока, не в этом |
|||
7
trad
16.04.19
✎
15:50
|
об.open("POST", "https://presale.tophr.kz/corews?wsdl";);
тут какой-то странный код и если делаем вызов метода soap, то причем тут wsdl |
|||
8
trad
16.04.19
✎
15:51
|
дурацкий форум - мудит с ;
|
|||
9
trad
16.04.19
✎
15:53
|
||||
10
trad
16.04.19
✎
15:54
|
офф тест2
"https://presale.tophr.kz/corews?wsdl"; |
|||
11
trad
16.04.19
✎
15:56
|
офф тест3
"http://aa.bb.cc/" |
|||
12
Gobo
17.04.19
✎
07:02
|
(6)
Исправлены, ПараметрыSoap="<?xml version=""1.0"" encoding=""windows-1251""?> |<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:core=""http://core.webservice.config.core.auction.bas.com/""> |<soapenv:Header/> |<soapenv:Body> |<core:createEntities> | <auth_key>0c18fd768c0cdab0ee41d4c605314259dff9b8cf8c8e4c3a0cb1e24090482c963190d643fe58b75f1bcb45e05cd861c1</auth_key> |<secret_key>8724112f3bf585cbb872f77562d06920d9b613327267dbf4f9190e99f0e35a82</secret_key> |<data_content>![CDATA[{""Организации"": [{ |""Ref"": ""eaf3d8f2-5207-11e5-9b29-000c293829c4"", |""Код"": ""000000001"", |""Наименование"": ""ТОО Cloudmaker""}]} |]] |</data_content> |<!--Optional:--> |<batchId>201</batchId> |<!--Optional:--> |<data_type>json</data_type> |</core:createEntities> |</soapenv:Body> |</soapenv:Envelope>"; |
|||
13
Gobo
17.04.19
✎
07:03
|
Точки запятые форум добавляет, я без них вставлял.
|
|||
14
Gobo
17.04.19
✎
07:07
|
(1) Все обновления сделал, результат тот же.
|
|||
15
Gobo
17.04.19
✎
07:08
|
На 8-ке у меня код так реализован:
Определения = Новый WSОпределения(«адрес моего сервиса»); Прокси = Новый WSПрокси(Определения, «http://core.webservice.com/»,»CoreWebServiceImplService»,»CoreWebServiceImplPort»); Схема=»http://www.w3.org/2001/XMLSchema»; ТекТекст=»Тут содержимое передаваемого документа»; ТипXDTO_data_content = Прокси.ФабрикаXDTO.Тип(Схема, «string»); ОбъектXDTO_data_content = Прокси.ФабрикаXDTO.Создать(ТипXDTO_data_content,ТекТекст); ТипXDTO_batchId = Прокси.ФабрикаXDTO.Тип(Схема, «int»); ОбъектXDTO_batchId = Прокси.ФабрикаXDTO.Создать(ТипXDTO_batchId,201); ТипXDTO_data_type = Прокси.ФабрикаXDTO.Тип(Схема, «string»); ОбъектXDTO_data_type = Прокси.ФабрикаXDTO.Создать(ТипXDTO_data_type,»XML»); ДанныеОтправки = Прокси.createEntities(ОбъектXDTO_data_content, ОбъектXDTO_batchId, ОбъектXDTO_data_type); Сообщить(ДанныеОтправки); |
|||
16
Gobo
17.04.19
✎
07:18
|
(7) как мне тут указать, чтобы он вызвал метод - createEntities ?
Сервис находиться тут: https://presale.tophr.kz/corews?wsdl |
|||
17
trad
17.04.19
✎
08:05
|
Неопознанная ошибка на об.status?
|
|||
18
Gobo
17.04.19
✎
12:35
|
(17) да,
и объект пустой в отладчике. |
|||
19
trad
17.04.19
✎
16:59
|
//*******************************************
Процедура Сформировать() ПараметрыSoap = "<?xml version=""1.0"" encoding=""windows-1251""?> |<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:core=""http://core.webservice.config.core.auction.bas.com/""> |<soapenv:Header/> |<soapenv:Body> |<core:createEntities> |<auth_key>0c18fd768c0cdab0ee41d4c605314259dff9b8cf8c8e4c3a0cb1e24090482c963190d643fe58b75f1bcb45e05cd861c1</auth_key> |<secret_key>8724112f3bf585cbb872f77562d06920d9b613327267dbf4f9190e99f0e35a82</secret_key> |<data_content>![CDATA[{""Организации"": [{ |""Ref"": ""eaf3d8f2-5207-11e5-9b29-000c293829c4"", |""Код"": ""000000001"", |""Наименование"": ""ТОО Cloudmaker""}]} |]] |</data_content> |<batchId>201</batchId> |<data_type>json</data_type> |</core:createEntities> |</soapenv:Body> |</soapenv:Envelope> |"; Query = СоздатьОбъект("Msxml2.XMLHTTP"); Query.open("POST", "https://presale.tophr.kz/corews", 0); Query.setRequestHeader("Content-Type", "text/xml; charset=windows-1251"); Query.setRequestHeader("SOAPAction", "http://core.webservice.config.core.auction.bas.com/#CoreWebServiceImplService:CoreWebServiceImplPort"); Query.send(ПараметрыSoap); Если Query.status <> 200 Тогда Сообщить(Query.status); Сообщить(Query.statusText); Иначе Сообщить("Ok"); //Сообщить(Query.responseXml); Сообщить(Query.responseText); КонецЕсли; КонецПроцедуры |
|||
20
trad
17.04.19
✎
16:59
|
Ok
<?xml version="1.0" ?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns2:createEntitiesResponse xmlns:ns2="http://core.webservice.config.core.auction.bas.com/"><return>[0:0]={5730}</return></ns2:createEntitiesResponse></S:Body></S:Envelope> |
|||
21
trad
17.04.19
✎
17:00
|
Windows 7 32
обновления все установлены |
|||
22
Gobo
18.04.19
✎
07:19
|
(19) Спасибо большое, работает !
Хочу в качестве спасибо отправить 0.003 BTC, если напишешь адрес. Получается моя ошибка была в этой строке: Query.open("POST", "https://presale.tophr.kz/corews",0); На счет библиотеки, у клиентов могут быть с этим проблемы. Можно эту обработку переделать на использование библиотеки - v7plus.dll ? |
|||
23
Ёпрст
18.04.19
✎
07:34
|
(22) храни все нужные библиотеки в самой ert в мокселе, при старте поделкии проверяй их наличие в системе, при отсутствии извлекай и устанавливай. И v7plus.dll тоже может быть не зарегена. Проще 1cpp использовать, там есть встроенный xml
|
|||
24
Ёпрст
18.04.19
✎
07:36
|
Хотя, тебе нужна mxmln3 и ее методы. Храни ее и извлекай/регистрируй при необходимости
|
|||
25
trad
18.04.19
✎
09:39
|
(22) "Хочу в качестве спасибо отправить 0.003 BTC, если напишешь адрес."
спасибо, не надо |
|||
26
trad
18.04.19
✎
09:40
|
(23) "храни все нужные библиотеки в самой ert в мокселе,"
ТС, не делай так никогда |
|||
27
trad
18.04.19
✎
09:46
|
(22) "Можно эту обработку переделать на использование библиотеки - v7plus.dll ?" можно, но я ей не пользуюсь
использую компонентами windows. на современных win все это есть Во-первых Msxml2.XMLHTTP имеет .responseXml - там готовый DOM-документ, бери да перебирай, хочешь просто перебором, хочешь xpath-ами Во-вторых .send(ПараметрыSoap) на вход умеет получать не только строку, но и тот же DOM-документ |
|||
28
trad
18.04.19
✎
09:49
|
||||
29
Gobo
18.04.19
✎
11:56
|
(27) Да, дом это хорошо.
На VBA его часто использую. |
|||
30
Gobo
18.04.19
✎
13:42
|
B код читабельнее:
[CODE]
[/CODE] |
|||
31
Ёпрст
18.04.19
✎
18:10
|
(26) почему ?
|
|||
32
trad
19.04.19
✎
09:53
|
(31) совершенно не нужное шаманство, усложняющее систему без необходимости
|
|||
33
Ёпрст
19.04.19
✎
11:42
|
(32) ааа.. я то думал, что-то религиозное, может :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |