Имя: Пароль:
1C
 
Как использовать Web-сервис в 1с77?
0 fly7
 
25.12.10
23:45
Есть такой код на 1с8


   Определения = Новый WSОпределения("http://ххх.ru/RoznTF82/ws/getdata?wsdl", "WebService");
   Прокси = Новый WSПрокси(Определения, "http://ххх.ru/RoznTF82/ws/getdata", "GetData", "GetDataSoap");
   Прокси.Пользователь = "WebService";
   
   КодРИБ = "117";
   ДанныеОбмена = Прокси.Получить(КодРИБ);
   
   ИмяФайла = ДанныеОбмена.ИмяФайла;
   ДанныеОбмена.Данные.Записать("C:\1cBases\" + ИмяФайла);


как то же самое сделать на 1с77?
пробовал так:

   SOAPN = СоздатьОбъект("MSSOAP.SoapClient30");
   SOAPN.MSSOAPInit("http://WebService@ххх.ru/RoznTF82/ws/getdata", "GetData", "GetDataSoap");
   SOAPN.ConnectorProperty("AuthUser", "WebСервис");
   SOAPN.ConnectorProperty("WinHTTPAuthScheme", 1);
   SOAPN.ConnectorProperty("UseSSL", 1);
   Res = SOAPN.Получить("117");    

вываливается с ошибкой на SOAPN.MSSOAPInit

SOAPN.MSSOAPInit("http://WebService@ххх.ru/RoznTF82/ws/getdata", "GetData", "GetDataSoap");
{C:\1CBASES\1С\ТЕСТWS.ERT(15)}: WSDLReader: WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: Отказано в доступе.
HRESULT=0x1: Неверная функция.
- WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057: Параметр задан неверно.
- Client:One of the parameters supplied is invalid. HRESULT=0x80070057: Параметр задан неверно.
1 fly7
 
25.12.10
23:48
http://ххх.ru/RoznTF82/ws/getdata это web-сервис на 1с82
2 fly7
 
26.12.10
10:32
up
3 fly7
 
26.12.10
13:51
никто не знает?
4 Попытка1С
 
26.12.10
13:53
С чего ты решил что это должно работать в 7.7
5 fly7
 
27.12.10
22:32
(4) а с чего бы этому не работать на 1с77?
php сайт может работать с web-сервисом, почему бы и 1с77 не смоч?
6 Лефмихалыч
 
27.12.10
22:34
(5) а если ход конем:
СоздатьОбъект("MSSOAP.SoapClient"); // без версии?

или обновить там чо-нить?..

PS А пассвёрда ни какого не надо было передать?
7 fly7
 
28.12.10
06:36
(6) без версии тоже пробовал, даже не создает объект
на момент создания WS паса не было, из браузера этот адрес доступен. из 1с фиг (
возможно логин/пас надо пихать не в адресную строку, а куда то еще... я не знай
8 fly7
 
05.01.11
23:11
все еще не победил
подскажите а?
9 Jaap Vduul
 
05.01.11
23:20
msdn:

Method definition

HRESULT mssoapinit(
[in] BSTR bstrWSDLFile,
[in, optional, defaultvalue("")] BSTR bstrServiceName,
[in, optional, defaultvalue("")] BSTR bstrPort,
[in, optional, defaultvalue("")] BSTR bstrWSMLFile);

Parameters

bstrWSDLFile

bstrWSDLFile is the URL of the WSDL file that describes the services offered by the server.
10 orefkov
 
05.01.11
23:46
Попробуй задать
SOAPN.ConnectorProperty("AuthUser", "WebСервис");
до MSSOAPInit
11 fly7
 
06.01.11
11:59
(10)
SOAPN.ConnectorProperty("AuthUser", "WebСервис");
{C:\1CBASES\1С\ТЕСТWS.ERT(16)}: Client: Client:Soap client is not initialized. HRESULT=0x80040007: Объект не инициализирован
12 smaharbA
 
06.01.11
12:01
а чем протрафили встроенные в виндуз объекты ?
13 orefkov
 
06.01.11
12:19
Ну попробуй
SOAPN.MSSOAPInit("http://WebService:@ххх.ru/RoznTF82/ws/getdata", "GetData", "GetDataSoap");
или задай пароль для юзера WebService и
SOAPN.MSSOAPInit("http://WebService:pwd@ххх.ru/RoznTF82/ws/getdata", "GetData", "GetDataSoap");
14 Mashinist
 
06.01.11
12:32
SOAP с 7.7 подружить можно, но хуже другое
http://support.microsoft.com/kb/811215
SOAP Toolkit корпорации Майкрософт предоставляет ограниченную поддержку для приложений, которые должны выполняться в операционной системе Microsoft Windows Server 2003. Обратите внимание на то, что все наборы инструментов SOAP были заменены Microsoft .NET Framework. SOAP Toolkit версии более ранней, чем версия 3.0, больше не поддерживаются. Стандартный поддержку SOAP Toolkit 3.0 31 марта 2005 г., истек срок действия и расширенная поддержка истекает 31 марта 2008 г.

Т.е. в терминале работать не будет.
15 trad
 
06.01.11
12:47
в mssoapinit нужно передавать url к wsdl
а он у тебя http://ххх.ru/RoznTF82/ws/getdata?wsdl
а не http://ххх.ru/RoznTF82/ws/getdata
16 fly7
 
06.01.11
18:22
(13,15) SOAPN.MSSOAPInit("http://WebСервис:111@ххх.ru/RoznTF82/ws/getdata", "GetData", "GetDataSoap");
{C:\1CBASES\1С\ТЕСТWS.ERT(70)}: WSDLReader: WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: Отказано в доступе.
17 fly7
 
06.01.11
18:22
(12) это как?
18 fly7
 
06.01.11
18:33
(14) мне главное достучатся до web-сервиса 1с82 из 1с77, а через соап это делать или нет, мне без разницы
19 orefkov
 
07.01.11
00:03
(16)
Куда дел "?wsdl" из конца урла?
20 fly7
 
07.01.11
11:42
(19) да всяко пробовал! и так и так...
в (15) написали что не надо...
21 fly7
 
07.01.11
11:44
SOAPN = СоздатьОбъект("MSSOAP.SoapClient30");
   SOAPN.MSSOAPInit("http://WebСервис:111@ххх.ru/RoznTF82/ws/getdata?wsdl", "GetData", "GetDataSoap");
   Res = SOAPN.ЗаписатьРИБ("117");    



SOAPN.MSSOAPInit("http://WebСервис:111@ххх.ru/RoznTF82/ws/getdata?wsdl", "GetData", "GetDataSoap");
{C:\1CBASES\1С\ТЕСТWS.ERT(70)}: WSDLReader: WSDLReader:XML Parser failed at linenumber 0, lineposition 0, reason is: Отказано в доступе.
HRESULT=0x1: Неверная функция.
- WSDLReader:Loading of the WSDL file failed HRESULT=0x80070057: Параметр задан неверно.
- Client:One of the parameters supplied is invalid. HRESULT=0x80070057: Параметр задан неверно.