1с 7.7 и MSSOAP.SoapClient30

1. PhoenixAOD 62 16.12.16 10:26 Сейчас в теме
Доброго времени суток всем читающим! Друзья, помогите разобраться в данном вопросе. в одном из филлиалов компании где я работаю имеется такой раритет как 1С 7.7 Рарус, для торговли достаточно, на фронтах Кристалл 5, но из-за 54-фз теперь возникла необходимость перейти на Кристалл 10, поставлена мне задача разобраться и настроить обмен с этим 10-м крисом, покопавшись, выяснилось что обмены идут в двух форматах, 1 это файловый xml и 2 черзе веб сервис. 1 вариант отмели сразу, так как в 10 кристалле загрузка маркетинговых акций возможно только через веб сервис. Покопался, почитал мануалы, действий у меня оказалось всего 3:
1. Выгрузить данные в структур xml,
2. Закодировать в Base64
3. Подключится к вебсервису по MSSOAP.SoapClient30 и выплюнуть в кристалл 10 строку Base 64.

сам не особо много работал с клюшкой, так по мелочам обычно, с 1 и 2 пунктами разобрался, 7.7 выгружает и кодирует, все гуд, а вот с 3-им пунктом заморочка, подключится к MSSOAP.SoapClient30 получилось, а вот какими методами оперировать не понятно. информации по MSSOAP.SoapClient30 имено по методам не нашел. Подскажите как сделать выгрузку строки в MSSOAP.SoapClient30 или где почитать о методах работы. Само подключение нарыл на просторах тырнета:
СервисСОАП = CreateObject("MSSOAP.SoapClient30"); 
		СервисСОАП.MSSoapInit("http://чччч.чччч.ччч.ччч:8090/SET-ERPIntegration/SET/WSGoodsCatalogImport?wsdl"); 
		СервисСОАП.ConnectorProperty("AuthUser","ххххххххххх"); 
		СервисСОАП.ConnectorProperty("AuthPassword","ххххх"); 
		СервисСОАП.ConnectorProperty("WinHTTPAuthScheme",1);
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 16.12.16 11:04 Сейчас в теме
request = ;
			Результат = СервисСОАП.getGoodsCatalog(request);

мне кажется что тут надо что то дописать, но вот запрос какой должен быть. через Soap UI нашел что в этом объекте используется
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:plug="http://plugins.products.ERPIntegration.crystals.ru/">
<soapenv:Header/>
<soapenv:Body>
<plug:getGoodsCatalog>
<goodsCatalogXML>cid:1217189240965</goodsCatalogXML>
</plug:getGoodsCatalog>
</soapenv:Body>
</soapenv:Envelope>
вот такой запрос, но не знаю правильна ли моя догадка.
3. jj_mail 16.12.16 12:03 Сейчас в теме
Функция ЗапросОчередногоЕКК()
	
	xmlDoc = CreateObject("Msxml2.DOMDocument");
	
	xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""" ));  
	
	root = xmlDoc.createElement("soap:Envelope");                          
	root.setAttribute("xmlns:soap", "http://schemas.xmlsoap.org/soap/envelope/"); 
	root.setAttribute("xmlns:xsi",  "http://www.w3.org/2001/XMLSchema-instance"); 
	root.setAttribute("xmlns:xsd",  "http://www.w3.org/2001/XMLSchema"); 
	root.setAttribute("xmlns:tns",  "http://www.чччч/Partners");
	
	body = root.appendChild(xmlDoc.createElement("soap:Body"));
	
	GetEKK = body.appendChild(xmlDoc.createElement("tns:GetNextEKK"));
	
	xmlDoc.documentElement = root; 
	
	xmlDoc.save("D:\temp\GetEKK.xml");
	
	Возврат xmlDoc.xml;
	
КонецФункции // ЗапросОчередногоЕКК

xmlHTTP = CreateObject("MSXML2.XMLHTTP");
	xmlHTTP.open("POST", "http://чччч.чччч/чччч/чччч", 0, "WS_SAP", "чччч");
	xmlHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	xmlHTTP.setRequestHeader("SOAPAction", "http://www.чччч/Partners#GetEKK:GetNextEKK");
	
	Попытка
		xmlHTTP.send(ЗапросОчередногоЕКК());
		
	Исключение
		Предупреждение("Ошибка " + ОписаниеОшибки() ,60);
		Возврат;

	КонецПопытки;
	
	Если xmlHTTP.status = 200 Тогда
		res = xmlHTTP.responseXML.SelectSingleNode("//m:return").text;
		Сообщить(res);
		
	Иначе
		Сообщить(xmlHTTP.statusText);
		
	КонецЕсли;
Показать


это нужно ?
4. PhoenixAOD 62 16.12.16 23:30 Сейчас в теме
(3) возможно это. сейчас попробую) спасибо)
5. PhoenixAOD 62 19.12.16 08:19 Сейчас в теме
похоже дело не в запросе, тулза которую рекомендуют использовать разрабы SetRetail10 посылает не xml файл
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:plug="http://plugins.products.ERPIntegration.crystals.ru/">
<soapenv:Header/>
<soapenv:Body>
<plug:getGoodsCatalog>
<goodsCatalogXML>cid:1217189240965</goodsCatalogXML>
</plug:getGoodsCatalog>
</soapenv:Body>
</soapenv:Envelope>
где значение
cid:1217189240965
и есть сама зашифрованная строка.
Но возникает вопрос. Правильно ли я понял?
6. PhoenixAOD 62 19.12.16 08:57 Сейчас в теме
покопался еще в тырнете нашел вот это http://1c-programmer-blog.ru/programmirovanie/poluchenie-dannyx-ot-soap-veb-servisa-iz-1s-7-7.html
сделал вот такт
СервисСОАП = СоздатьОбъект("MSSOAP.SoapClient30"); 
			СервисСОАП.MSSoapInit("http://xxxxxx/xxxxxxxx/xxxx//SET-ERPIntegration/SET/WSGoodsCatalogImport?wsdl");
			СервисСОАП.ConnectorProperty("AuthUser","xxxxxxx"); 
			СервисСОАП.ConnectorProperty("AuthPassword","xxxxxxx"); 
			СервисСОАП.ConnectorProperty("WinHTTPAuthScheme",1); 
			//ОтветСервиса = СервисСОАП.getGoodsCatalog(); 
			
			
			зп = "<?xml version=""1.0"" encoding=""UTF-8"">
			|<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:plug=""http://plugins.products.ERPIntegration.crystals.ru/"" 
			|<soapenv:Header/> 
			|<soapenv:Body>
			| <plug:getGoodsCatalog>
			| <goodsCatalogXML>"+Стр+"</goodsCatalogXML>
			| </plug:getGoodsCatalog>
			|</soapenv:Body>
			|</soapenv:Envelope>";
		  		  	
		   				
			об = СоздатьОбъект("MSXML2.XMLHTTP");
			об.open("POST", "http://servername/basename/ru_RU/ws/Clients", 0, "Login", "Password"); 
			об.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
			об.setRequestHeader("SOAPAction", "http://servername/basename/ru_RU/wsclients#Clients:method_name");
			об.send(зп);
			Сообщить(об);
Показать

но на
об.send(зп); 
возникает вот такая ошибка
msxml3.dll: Системная ошибка: -2146697211.
почему валится не понятно.
7. Serginio 938 19.12.16 09:57 Сейчас в теме
Вот здесь есть пример работы с веб сервисами из 7.7

Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент.

Здесь пример того, как человек с нуля из семерки создал компонет для доступа к вэб сервису
http://www.forum.mista.ru/topic.php?id=720653&page=1#48
http://www.forum.mista.ru/topic.php?id=775298&page=1
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот