Имя: Пароль:
1C
1С v8
Веб-сервис (ошибка авторизации)
0 xantimans
 
29.10.13
08:43
Всем привет, ситуация следующая: пытаюсь дернуть данные с помощью веб-сервиса.

    Определение = Новый WSОпределения("http://localhost/Test/ru_RU/ws/depts?wsdl";, "LOGIN", "PASSWORD");
    Прокси = Новый WSПрокси(Определение, "http://www.URI.com";, "depts", "deptsSoap");
    Результат = Прокси.Obmen();

выдает ошибку авторизации, но если лезу в vrdешку и напрямую прописываю логин и пароль, то все работает

<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system";
             xmlns:xs="http://www.w3.org/2001/XMLSchema";
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
             base="/uu"
             ib="Srvr=&quot;app&quot;;Ref=&quot;uu&quot;;usr=LOGIN;pwd=PASSWORD;">
       <ws>
             <point name="depts"
                           alias="depts.1cws"
                           enable="true"/>
    <point name="XDT_Test"
        alias="XDT_Test.1cws"
        enable="true"/>
       </ws>
</point>

но такой вариант открывает доступ к данным всем и вся, почему может быть ошибка авторизации?
1 Wobland
 
29.10.13
08:50
откуда вы точки с запятой берёте в неожиданных местах?
2 xantimans
 
29.10.13
08:53
(1) какие еще точки с запятой?
3 Wobland
 
29.10.13
08:55
(2) depts?wsdl"_;_, "LOGIN", "PASSWORD");
4 xantimans
 
29.10.13
08:58
(3) о епт это миста чет навтыкала я и не заметил )) там просто URL должен быть http://localhost/Test/ru_RU/ws/depts?wsdl
5 Wobland
 
29.10.13
09:00
Новый WSОпределения("http://localhost/Test/ru_RU/ws/depts?wsdl";, "LOGIN", "PASSWORD");
6 Wobland
 
29.10.13
09:01
дурная миста. но хоть ссылку оставило в этот раз
7 xantimans
 
29.10.13
09:03
ну что по ошибке никто помочь не может?
8 xantimans
 
29.10.13
09:14
забацал в студии нормально подключается

    depts o = new depts();
    o.Url = @"http://Localhost/Test/ru_RU/ws/depts";;
    o.UseDefaultCredentials = false;
    o.PreAuthenticate = true;
    o.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap11;

    ICredentials credentials = new NetworkCredential("LOGIN", @"PASSWORD");
    o.Credentials = credentials;

    var res = o.Obmen();

значит это 1С тупит (((((, HELP!!!!
9 Wobland
 
29.10.13
09:16
а не в прокси надо логин/пароль?
10 quizz
 
29.10.13
09:16
Определение = Новый    WSОпределения("http://test.local/upp/ws/reports.1cws?wsdl";, "login", "passw");
    Прокси = Новый WSПрокси(Определение, "http://localhost/ws1","MobileExchange";, "MobileExchangeSoap" );
    Прокси.Пользователь = "login";
    Прокси.Пароль = "passw";
    Данные= Прокси.getreport();
11 xantimans
 
29.10.13
09:20
охренеть )))), работает, только вот не понятно зачем 2 раза логин и пароль задавать? Но все равно спс.
12 Serginio1
 
29.10.13
10:57
(11) Первый пароль на доступ к к файлу WSDL. Второй уже к сервису. Ты можешь сохранить WSDL файл где угодно. А там уже есть данные о точке подключения, адресс и метаданные.