Вход | Регистрация



Интеграция 1С и C#

Интеграция 1С и C#
Я
   Dendroid92
 
02.11.16 - 11:10
Здравствуйте!
Прочитал статью https://habrahabr.ru/post/136684/ про использование web-сервисов 1C в C#. Остановился на проблеме авторизации. При подключении к веб-сервису в браузере получаю XML-ответ. При добавлении сервиса в C# ввожу логин и пароль от 1С как и в браузере, дальше выскакивает сообщение "The server needs to authenticate your request. Your credentials will be sent to the server in clear text. Do you want to continue?". Зачем проходить аутентификацию еще раз, если я ввел логин и пароль от 1С? Дело в том что по нажатию кнопки "Yes" появляется форма ввода Пользователя и пароля, что туда вносить я так и не понял, ибо ввожу туда логин и пароль 1С и процесс аутентификации бесконечный, просит ввести снова. Что делаю не так? Заранее спасибо за помощь.
 
 
   Asmody
 
1 - 02.11.16 - 11:12
Ты сам нарвался!
Сейчас придет Serginio1, ну и всё.
   DDwe
 
2 - 02.11.16 - 11:13
(0) Щас набегут адепты и их главарь )))
   DDwe
 
3 - 02.11.16 - 11:13
(1) Опередил )))
   Юрий Лазаренко
 
4 - 02.11.16 - 11:14
(1) ))))))))))
   Господин ПЖ
 
5 - 02.11.16 - 11:14
сервис кто предоставляет? 1С?

имхо iis криво настроен. базовая авторизация, а должна быть анонимная
   Dendroid92
 
6 - 02.11.16 - 11:17
(5) делаю публикацию на веб-сервере iis, да.

Как сделать анонимную, подскажите пожалуйста, буду признателен.
   DDwe
 
7 - 02.11.16 - 11:17
(5) Подожди.
   Кирпич
 
8 - 02.11.16 - 11:18
Краткое содержание веток Serginio1
https://www.youtube.com/watch?v=fA9dnkIhpvA
   DDwe
 
9 - 02.11.16 - 11:19
(8) Что там? Ютуба нету
   Кирпич
 
10 - 02.11.16 - 11:20
(9)  Краткое содержание веток Serginio1
 
 Рекламное место пустует
   Господин ПЖ
 
11 - 02.11.16 - 11:20
   Dendroid92
 
12 - 02.11.16 - 11:21
(11) Сейчас попробую
   Господин ПЖ
 
13 - 02.11.16 - 11:23
народ, кто в web волокет - помощь нужна
   Dendroid92
 
14 - 02.11.16 - 11:23
(13) В чем помощь?
   Dendroid92
 
15 - 02.11.16 - 11:24
(13) Анонимная проверка подлинности включена
   Лефмихалыч
 
16 - 02.11.16 - 11:27
Странно, "сишарп" три раза сказали, а битлджуса Serginio1 всё нет...
   Господин ПЖ
 
17 - 02.11.16 - 11:27
есть номер зем. участка. есть сайт госрееста. там есть форма куда можно номер вбить - в ответ будут две ссылки на описание участка в разных реестрах.

как это автоматизировать через 1с?

могу получить текст формы с сайта, а дальше чего?

парсить ее вставлять значение в нужное поле и отправлять форму обратно + submit()?

или как такое делается?
   Лефмихалыч
 
18 - 02.11.16 - 11:28
(17) на кнопку submit какой-то скрипт навешан, посмотри, что он делает и к чему обращается. Из этого уже выводы делай.
   Кирпич
 
19 - 02.11.16 - 11:29
(17) у росреестра вроде сервисы есть
   Dendroid92
 
20 - 02.11.16 - 11:30
(17) я похожее делал, передавал в url параметры нужные и отправлял на нужную страницу, как-то так если в кратце
   Господин ПЖ
 
21 - 02.11.16 - 11:30
(19) ковырял их документацию по описанию предоставляемых служб - не нашел
   Господин ПЖ
 
22 - 02.11.16 - 11:32
>ередавал в url параметры нужные

там url какой-то невменяемый...

или... а как можно посмотреть что по submit на сервер уходит?
   Dendroid92
 
23 - 02.11.16 - 11:34
(22) я жал F12 в Chrome, открывал кладку Network и смотрел куда все улетает по нажатию клавиши, выбирал нужную страницу и смотрел какие у нее параметры были переданы, как-то так
   Dendroid92
 
24 - 02.11.16 - 11:37
Соединение = Новый HTTPСоединение("elibrary.ru");

ФайлРезультата = ПолучитьимяВременногоФайла();
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
ЗаголовокHTTP.Вставить("Accept-Encoding", "gzip, deflate, sdch");
ЗаголовокHTTP.Вставить("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
ЗаголовокHTTP.Вставить("Cookie", Куки);
ЗаголовокHTTP.Вставить("Host", "elibrary.ru");
ЗаголовокHTTP.Вставить("Proxy-Connection", "keep-alive");
ЗаголовокHTTP.Вставить("Referer", "http://elibrary.ru/authors.asp";);
ЗаголовокHTTP.Вставить("Upgrade-Insecure-Requests", "1");
ЗаголовокHTTP.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36");

Если СсылкиРабот.Количество() = 0 Тогда
    
    ЗаголовокHTTP = Новый Соответствие();
        ЗаголовокHTTP.Вставить("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
        ЗаголовокHTTP.Вставить("Accept-Encoding", "gzip, deflate, sdch");
        ЗаголовокHTTP.Вставить("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
        ЗаголовокHTTP.Вставить("Cookie", Куки);
        ЗаголовокHTTP.Вставить("Host", "elibrary.ru");
        ЗаголовокHTTP.Вставить("Proxy-Connection", "keep-alive");
        ЗаголовокHTTP.Вставить("Referer", "http://elibrary.ru/authors.asp";);
        ЗаголовокHTTP.Вставить("Upgrade-Insecure-Requests", "1");
        ЗаголовокHTTP.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36");    
    Попытка    
        Ответ = Соединение.Получить("/author_items.asp?authorid=" + Карточка.IDРИНЦ, ФайлРезультата, ЗаголовокHTTP);
    Исключение
        Сообщить("Неожиданный разрыв соединения. Повторите попытку позже.");
    КонецПопытки;

authorid идет как параметр
   Господин ПЖ
 
25 - 02.11.16 - 11:44
(23) это я уже вчера смотрел... там ахтунг какой-то... шифровка. "феликс юстасу" просто
   Dendroid92
 
26 - 02.11.16 - 11:48
(25) Если правильно тебя понял, то Преобразование HTML в ПостроительDOM
   Serginio1
 
27 - 02.11.16 - 11:56
Если у тебя Web ссылка то
Помощь с Web сервисом

Да нужно добавить client.PreAuthenticate = true; 

что бы при каждом вызове добавлялся 
Authorization: Basic 

Без него сначала вызов идет без Authorization: Basic 
получив код 401 добавляет его 

 Если ссылка на службу то
var _client = new ServiceClient();
            _client.ClientCredentials.UserName.UserName = Логин
            _client.ClientCredentials.UserName.Password = Пароль;


 Но есть проблема если логин или пароль на кириллице
   Serginio1
 
28 - 02.11.16 - 11:56
var binding = new BasicHttpBinding();
            binding.SendTimeout = TimeSpan.FromSeconds(25);

            binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;
            //    var addres = new EndpointAddress("http://localhost/unf/ws/WhatsApp";);
            var addres = new EndpointAddress("http://localhost.fiddler/unf/ws/WhatsApp";);

            using (var client = new WhatsApp.WhatsAppPortTypeClient(binding, addres))
            //  using (var client = new WhatsApp.WhatsAppPortTypeClient("WhatsAppSoap"))
            {




                var login = client.ClientCredentials.UserName;
                //     login.UserName = "WebUser";

                //     login.Password = "1";

                login.UserName = "Администратор";
                login.Password = "";
                client.SetStatus("b46e97f8-3a80-4270-91ee-5aa45cd7a097", "Ид сообщения Вацап");
                using (OperationContextScope scope = new OperationContextScope(client.InnerChannel))
                {
                    var httpRequestProperty = new HttpRequestMessageProperty();
                    httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " +
                    Convert.ToBase64String(Encoding.UTF8.GetBytes(client.ClientCredentials.UserName.UserName + ":" +
                    client.ClientCredentials.UserName.Password));
                    OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] =
                       httpRequestProperty;

                    // Call svc method here

                    try
                    {
                        string ИдВацап = Guid.NewGuid().ToString();
                        client.SetStatus("b46e97f8-3a80-4270-91ee-5aa45cd7a097", "Ид сообщения Вацап");


                    }
                    catch (Exception e1)
                    {
                        string Ошибка = e1.Message + " " + e1.Source;
                        throw new Exception(Ошибка);
                    }
                }
   Dendroid92
 
29 - 02.11.16 - 11:57
(27) На кирилице
   Господин ПЖ
 
30 - 02.11.16 - 12:00
(29) это плохо
   Dendroid92
 
31 - 02.11.16 - 12:01
(28) Вы писали статью в которой прописывали следующий код
var uriString = @"http://localhost/LinqBD/odata/standard.odata/";;
            var context = new ServiceReference1.EnterpriseV8(new Uri(uriString));

            context.Format.UseJson();
            var query = context.CreateQuery<ServiceReference1.Catalog_Тестовый>(@"Catalog_Тестовый")

ServiceReference1 Вы создавали через "Reference - Add Service reference" однако я пока даже не могу создать данный класс для подключения к сервису.
   Serginio1
 
32 - 02.11.16 - 12:01
(29) Вэб ссылка или сыылка на службу.
   Serginio1
 
33 - 02.11.16 - 12:05
(31) Да. А сервис на 1С у тебя работает?
Кроме того нужно галку на ODATA проставить при публикации и соответсвтвено прописать какие объекты будут использоваться

Протокол oData, Детализация запроса к Регистру Бухгалтерии (ДвиженияССубконто)

Кроме для ODATA или вэб сервисов можешь отключить авторизацию Как отключить http аутентификацию в 1с 8.3.7?
 
 
   Serginio1
 
34 - 02.11.16 - 12:08
(8) Кирпич, а чего парню то не помог? У тебя все мыли только об этом?
   Dendroid92
 
35 - 02.11.16 - 12:13
(33) Если честно, то я не совсем понимаю специфику интеграции 1С и C#. Читал множество статей про REST-интерфейс и протокол odata, в идеале было бы подключиться по веб-сервису вида http://localhost:8080/Demo1C/odata/standard.odata и работать со справочниками, документами и т.д.
(33) да
   Dendroid92
 
36 - 02.11.16 - 12:13
(33) Сейчас попробую прописать там логин и пароль
   Dendroid92
 
37 - 02.11.16 - 12:20
(33) <?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="/Demo1C"
        ib="File=&quot;D:\Documents\InfoBase5&quot;;usr=Сайт;pw=12345"
        enableStandardOData="true">
    <httpServices publishByDefault="false"/>
    <ws>
        <point name="AddressSystem"
                alias="AddressSystem.1cws"
                enable="true"/>
        <point name="Exchange"
                alias="exchange.1cws"
                enable="true"/>
        <point name="Exchange_2_0_1_6"
                alias="exchange_2_0_1_6.1cws"
                enable="true"/>
        <point name="InterfaceVersion"
                alias="InterfaceVersion.1cws"
                enable="true"/>
        <point name="MessageExchange"
                alias="messageexchange.1cws"
                enable="true"/>
        <point name="MessageExchange_2_0_1_6"
                alias="messageexchange_2_0_1_6.1cws"
                enable="true"/>
        <point name="WebAbit"
                alias="ws1.1cws"
                enable="true"/>
    </ws>
</point>

прописал Логин и Пароль, выводит такую вещь при обращении в браузере к http://localhost:8080/Demo1C/odata/standard.odata

1C:Enterprise 8 application error:

Ошибка при разборе дескриптора виртуальных ресурсов
by reason:
Ошибка разбора XML: - [6,49] Фатальная ошибка: Input is not proper UTF-8, indicate encoding ! Bytes: 0xD1 0xE0 0xE9 0xF2 SystemId: file://C:/inetpub/wwwroot/1C/default.vrd
   Serginio1
 
38 - 02.11.16 - 12:29
(35) Проще использовать Вэб сервисы. На стороне VS генерятся классы и легко с ними работать.
(37) Видно ты сохранил в ANSI. Нужно сохранить в UTF-8
   Serginio1
 
39 - 02.11.16 - 12:36
(35) 1С позволяет использовать и HTTP сервисы. Там тебе придется самоу сериализовать десериализовать. Хотя можно использовать обвязки например
https://habrahabr.ru/company/microsoft/blog/310704/

Refit для удобного описания клиента REST API

Самым популярным в настоящее время протоколом для общения мобильных приложений с сервером является REST в связке с Json. Поэтому наше сегодняшнее знакомство начнем с библиотеки Refit.

Refit позволяет описать спецификации для работы с REST-сервисом в виде простого Interface с понятным набором входных и выходных параметров, включая возможность манипулировать HTTP-заголовками для отдельных запросов.
   Кирпич
 
40 - 02.11.16 - 12:43
(34) Чем я ему могу помочь? "Интеграция 1С и C#" - это твой крест, вот и неси его.
   Dendroid92
 
41 - 02.11.16 - 12:55
(38) Пересохранил в UTF-8, в браузере просит авторизацию (при обращении к odata). При обращении к сервису (http://localhost:8080/Demo1C/ws/WebAbit?wsdl) не просит (авторизацию не проходил в прошлый раз). В VS не просит, но появляется опять "The server needs to authenticate your request. Your credentials will be sent to the server in clear text. Do you want to continue?". Что это? И что оно от меня хочет?))
   Serginio1
 
42 - 02.11.16 - 12:55
(40) У меня у самого куча дел. Некогда отвлекаться. А у тебя я так понимаю времени полно.
   Serginio1
 
43 - 02.11.16 - 12:57
(41) Не знаю. У меня не просит.
var uriString = @"http://localhost.fiddler/DemoAccounting/odata/standard.odata/";;

            var context = new StandardODATA.EnterpriseV8(new Uri(uriString));
   Кирпич
 
44 - 02.11.16 - 12:59
(42) "У меня у самого куча дел." 
Пишешь новую нетленную статью на хабр?
   Кирпич
 
45 - 02.11.16 - 13:03
+(44) "Как освободиться от влияния маркетинга Microsoft, смотреть на байт и видеть только байт и более ничего"
   Кирпич
 
46 - 02.11.16 - 13:06
или "Импортозамещение. Microsoft друг или враг?. Я запутался."
   Dendroid92
 
47 - 02.11.16 - 13:11
(43) Прописал как у Вас, заработало, получил context, дальше попробую сам разобраться, читая статью на infostart. Огромное спасибо за помощь.
   Serginio1
 
48 - 02.11.16 - 14:09
(44) И то и другое и третье.
(47) Посмотри в сторону Вэб сервисов.
   Serginio1
 
49 - 02.11.16 - 14:11
Говорят в 8.3.9 1С добавила Expand
Code First и Linq to EF на примере 1С версии 8.3
 
 Рекламное место пустует
   Dendroid92
 
50 - 02.11.16 - 15:53
(49) пишу код 
var query = context.CreateQuery<StandardODATA.Catalog_ТипыДокументов>(@"Catalog_ТипыДокументов");

что я получаю на выходе? Как мне получить доступ к реквизитам справочника, т.е. получить список "Паспорт РФ, паспорт иностранного гражданина и т.д."?
   CodeFinder
 
51 - 02.11.16 - 15:59
Вы мне лучше расскажите как питон по soap связать. Кто делал?
   Serginio1
 
52 - 02.11.16 - 16:08
А ты не используй CreateQuery.

var result = (from Тестовый in context.Catalog_ТипыДокументов
                          where Тестовый.Число < 500

                          select Тестовый).ToList();


 А дальше смотри данные.
Можно  не ипользовать Expand

Или 
Подгрузка ссылочных реквизитов

https://msdn.microsoft.com/ru-ru/library/cc646508(v=vs.110).aspx
var ПустаяСсылка = new Guid("00000000 - 0000 - 0000 - 0000 - 000000000000");

 

            string НоменклатураНаименование = "";

            if (result.РеквизитСправочник_Key != ПустаяСсылка)

            {

                context.LoadProperty(result, "РеквизитСправочник");

 

               НоменклатураНаименование = result.РеквизитСправочник.Description;

            }
   Dendroid92
 
53 - 02.11.16 - 16:16
(52) пишу

var result = (from ТипыДокументов in context.Catalog_ТипыДокументов select ТипыДокументов).ToList();

получаю ошибку

An exception of type 'System.Data.Services.Client.DataServiceQueryException' occurred in Microsoft.Data.Services.Client.dll but was not handled in user code

Additional information: При обработке этого запроса возникла ошибка.

из-за того что убрал where такое вываливается? По идее в запросах он же необязательный
   Dendroid92
 
54 - 02.11.16 - 16:20
(52)
foreach(var c in context.Catalog_ТипыДокументов)
{
}

тоже выдает аналогичную ошибку
   Serginio1
 
55 - 02.11.16 - 16:21
Можешь также Include использовать. Правда для нескольких полей нужно использовать строки
http://stackoverflow.com/questions/27345191/entity-framework-load-property-of-child
   Serginio1
 
56 - 02.11.16 - 16:22
Попробуй ограничить
foreach(var c in context.Catalog_ТипыДокументов.Take(10)
   Dendroid92
 
57 - 02.11.16 - 16:24
(56) Все-равно
   Serginio1
 
58 - 02.11.16 - 16:30
Надо смотреть ошибку. Скопируй в буфер и посмотри в блокноте
   Serginio1
 
59 - 02.11.16 - 16:30
Модно еще
var spr= context.Catalog_ТипыДокументов.FirstOrDefault();
   Serginio1
 
60 - 02.11.16 - 16:31
Посмотри фиддлером, что вызывается и какой ответ
   Serginio1
 
61 - 02.11.16 - 16:32
Если localhost то добавь fiddler

var uriString = @"http://localhost.fiddler/DemoAccounting/odata/standard.odata/";;;
   Serginio1
 
62 - 02.11.16 - 16:33
Ну и посмотри вообще сервис вызвается через
metadata
   Dendroid92
 
63 - 02.11.16 - 16:37
(61) у меня так. Если ставлю fiddler вываливается ошибка

var uristring = @"http://localhost:8080/Demo1C/odata/standard.odata/";;
            var context = new StandardODATA.EnterpriseV8(new Uri(uristring));
            context.Format.UseJson();
   Dendroid92
 
64 - 02.11.16 - 16:40
(62) В браузере то выводится в XML все данные что самое интересное
   Serginio1
 
65 - 02.11.16 - 16:47
А в браузере в каком формате? Какая версия 1С

 А ну да XML 
Попробуй без
  context.Format.UseJson();

или попробуй

context.Format.UseAtom();

 Так а ты Фиддлер запустил;
http://www.telerik.com/fiddler
   Dendroid92
 
66 - 02.11.16 - 16:57
(65) 1С:Предприятие 8.3 (8.3.8.1675)

не ставил, дома уже посмотрю тогда и отпишусь
   Dendroid92
 
67 - 03.11.16 - 10:10
(65) А в чем отличие Фидлера от "Инструменты разработчика" в Google? Там же аналог Фидлера встроен
   Serginio1
 
68 - 03.11.16 - 10:36
(67) А там точно весть трафик перехватывется, а нетолько текущей страницы?
Смотри им. Хотя фиддлер по мне удобнее.
   Dendroid92
 
69 - 03.11.16 - 10:40
(68) посмотрел трассировку в C# пишет, что авторизация не прошла, в браузере тоже просит Логин и пароль, метод с изменением файла default.vrd не прокатил, как явно указывать их?
   Serginio1
 
70 - 03.11.16 - 10:45
(69) Я тебе же давал ссылку. Вот здесь Протокол oData, Детализация запроса к Регистру Бухгалтерии (ДвиженияССубконто)



про авторизацию здесь
http://stackoverflow.com/questions/29502984/how-to-pass-authentication-header-basic-to-odata-service-from-a-netclient

Единственно, что нужно вместо Encoding.ASCII
использовать Encoding.UTF8
   Serginio1
 
71 - 03.11.16 - 10:46
(69) У всех кроме тебя все работает. Смотри внимательно.
   Serginio1
 
72 - 03.11.16 - 10:47
   Serginio1
 
73 - 03.11.16 - 10:49
   Serginio1
 
74 - 03.11.16 - 10:52
У меня так
ib="File=&quot;C:\Users\Smirnov_SA\Documents\1C\DemoAccounting&quot;;usr=web;pwd=">
   Dendroid92
 
75 - 10.11.16 - 12:37
(74) Спасибо за помощь. Оказалось, что ты мне писал не совсем по теме, но для общего развития не помешало) В общем все было намного проще. Нужно было в C# проделать ряд операций:
1. References - Add service references
2. Нажать кнопку Advanced далее Add web references
3. Ввести веб-сервис
4. Ввести в окне авторизации пользователя IUSR

P.S. не знаю почему, но пришлось создать пользователя в 1С с именем IUSR и без пароля как и пользователя под которым выполняется запрос к публикации с 1С.

Что конкретно до этого было не так, я так и не понял. Возможно нужно создавать Пользователя и пароль на английском.
   Serginio1
 
76 - 10.11.16 - 12:52
(76) Тебе про кирилицу писали. И про то, что бы установить пароль и пользователя для отключения авторизации
27,73
   Serginio1
 
77 - 10.11.16 - 12:57
Опять же в статье
http://catalog.mista.ru/public/403524/

Добавить ссылку на службу
Берем вставляем в гугл
https://msdn.microsoft.com/ru-ru/library/dd673931(v=vs.110).aspx

Ели у тебя английская версия то измени язык на английйский
   Serginio1
 
78 - 11.11.16 - 10:42
Кстати если будешь использовать .Net Core и вообще новые веяния то используй другое подключение

.Net Core, WCF и ODATA клиенты  
https://habrahabr.ru/post/310152/
   Dendroid92
 
79 - 11.11.16 - 12:50
(78) Читаю статью http://catalog.mista.ru/public/403524/ пытаюсь делать по аналогии, но:
1) context.Format.UseJson();
Format подчеркивает красным, пишет, что такого нет
2) даже если не указываю формат на строке 
var query = context.CreateQuery<MeataData1C.Catalog_ТипыДокументов>(@"Catalog_ТипыДокументов")

вываливается ошибка

An exception of type 'System.Data.Services.Client.DataServiceQueryException' occurred in Microsoft.Data.Services.Client.dll but was not handled in user code

Additional information: An error occurred while processing this request.

в Exception пишет, что не прошел авторизацию
   Dendroid92
 
80 - 11.11.16 - 14:06
(78) посмотрел видео https://www.youtube.com/watch?v=s1UBVYFe2Sc здесь вообще непонятный подход
   Serginio1
 
81 - 11.11.16 - 14:24
(79) Не используй CreateQuery
Пиши сразу 59.

А ты авторизацию включил? По ссылке в 33 есть ссылка на
http://stackoverflow.com/questions/29502984/how-to-pass-authentication-header-basic-to-odata-service-from-a-netclient
   Serginio1
 
82 - 11.11.16 - 14:26
81 Только используй вместо ASCII UTF8
   Dendroid92
 
83 - 11.11.16 - 14:42
(82) Если делать все по видео, то работает. Если делать по другому,то нужно:
1) Добавить веб-сервис в C#

2) в web.config прописать как в (80)
3) ОБЯЗАТЕЛЬНО прописать Credentials по типу

context.Credentials = new NetworkCredential(ConfigurationManager.ConnectionStrings["UserOData"].ConnectionString, ConfigurationManager.ConnectionStrings["PasswordOData"].ConnectionString);

Остается в силе вопрос: Почему я не могу указать формат вывода?

context.Format.Json() подсвечивает Format красным
   Dendroid92
 
84 - 11.11.16 - 14:57
(82) Хотя преобразование в формат JSon в ASP.NET MVC решается примерно так:

public JsonResult GetFormsForLevels1(int Id)
        {
            List<Form> ListForm = new List<Form>();
            if (Id > 0)
            {
                ListForm = dataManager.Forms.GetFormById(Id).Select(x => new Form
                {
                    Id = x.Id,
                    Name = x.Name
                }).ToList();
            }                                  
            return Json(ListForm.ToArray());
        }
   Serginio1
 
85 - 11.11.16 - 14:58
(93) Не вэб сервис, а ссылку на службу.
там не web.config а app.config и нужен если меняются UserOData и PasswordOData

тоже самое ты можешь сделать и используя 72,81
context.Format.Json() зависит от клиента. У меня все есть и работает в том числе отключение авторизации
   Serginio1
 
86 - 11.11.16 - 14:59
(84) А у тебя Asp.Net. А версия VS какая?
   Dendroid92
 
87 - 14.11.16 - 10:51
(86) 2013 Ultimate (85) Когда создавал классы по видео, тогда формат присутствовал. Когда добавил службу, то куда-то пропал, но мне не суть важно, ибо я все-равно передаю на Вьюшку в JSon-формате
   Serginio1
 
88 - 14.11.16 - 11:33
(87) У меня VS 2015 апдейт 3
   oleg_km
 
89 - 14.11.16 - 14:53
(87) Офф. Ты на всякий случай глянь сколько стоит VS Ultimate. Я об этом впервые узнал от полиционера, который пришел проверять у нас лицензионность ПО.
   Dendroid92
 
90 - 14.11.16 - 15:08
(89) я у IT-шников наших спросил, на сайте среди купленных продуктов Microsoft она была. Тем более насколько знаю образовательным учреждениям бесплатно дается.
   Serginio1
 
91 - 14.11.16 - 15:20
(90) Поставь VS 2015 апдейт 3
   oleg_km
 
92 - 14.11.16 - 16:06
(90) Тогда круто.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Независимо от того, куда вы едете — это в гору и против ветра!
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует