Имя: Пароль:
1C
1С v8
soap:Header
0 Pandoch
 
31.10.13
15:14
Пытаюсь организовать взаимодействие с веб-сервисом с помощью описанного wdsl файла. Использую WSПрокси. При попытке вызова операции происходит обращение к сервису и возвращается оттуда ошибка:
Security header missing

Вот код:
Определение = Новый WSОпределения("file:///C:/Users/AUBashinskaya/Desktop/TLConnect.svc", "логин", "пароль");
    Сервис = Определение.Сервисы[0];
    Прокси = Новый WSПрокси(
    Определение,
    "https://www.travelline.ru/Api/TLConnect";,
    "TLConnectService",
    "BasicHttpBinding_ITLConnectService"
    );
    Прокси.Пароль = "пароль";
    Прокси.Пользователь = "логин";
    //формирование объекта-параметра операции
        Результат = Прокси.HotelAvailRQ(Объект);
Объект формируется верно. Вот описание сервиса:
https://www.travelline.ru/Api/TLConnect.svc?singleWsdl
Там указано следущее:
<wsdl:operation name="HotelAvailRQ">
<soap:operation soapAction="https://www.travelline.ru/Api/TLConnect/HotelAvailRQ"; style="document"/>
<wsdl:input name="HotelAvailRQRequest">
<soap:header message="tns:HotelAvailRQRequest_Headers" part="Security" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>

И:
<wsdl:message name="HotelAvailRQRequest">
<wsdl:part name="OTA_HotelAvailRQ" element="q3:OTA_HotelAvailRQ"/></wsdl:message>
<wsdl:message name="HotelAvailRQRequest_Headers"><wsdl:part name="Security" element="tns:Security"/>
</wsdl:message>

Я так понимаю сообщение HotelAvailRQRequest я отправила с параметром  OTA_HotelAvailRQ (мой аргемент - Объект - именно такого типа). Но как через WSПрокси задать параметр Security? Я так понимаю не заполняется часть Header в soap запросе.
1 Serginio1
 
31.10.13
15:40
2 Serginio1
 
31.10.13
15:44
Кстати а у них есть примеры на других языках?
3 Pandoch
 
31.10.13
16:23
Какие примеры? Я не нашла ответа там на свой вопрос, можно ли обратиться  к части Header SOAP запроса через WSПрокси? Или надо другие объекты использовать. я пробовала с помощью  Msxml2.SERVERXMLHTTP отправить - тоже не вышло, чтото ему  content-type не нравится
4 Serginio1
 
31.10.13
16:30
А 1 смотрела?
   xmlHttp.setRequestHeader ("Content-type", "application/soap+xml; charset=""utf-8""");

Так они никаких примеров не предоставляют?
5 Serginio1
 
31.10.13
16:31
Ты уже столько времени на него убила. Проще сделать как я тебе уже советовал.
v8: Подключение к Web-сервису стороннего разработчика (не 1С)
6 Pandoch
 
31.10.13
16:34
xmlHttp.setRequestHeader ("Content-type", "application/soap+xml; charset=""utf-8"""); - устанавливала так, не вышло все равно.
7 Pandoch
 
31.10.13
16:38
примеры есть - просто какие soap запросы должны быть, мне это ничего не дает, текст запроса у меня верно формируется
8 Pandoch
 
31.10.13
16:38
ну точнее часть Body, а вот Header видимо нет, раз такая ошибка
9 Pandoch
 
31.10.13
16:39
там примеры только по части body
10 Pandoch
 
31.10.13
16:41
Писать там на C# надо будет? тут даже студии нет блин
11 Infsams654
 
31.10.13
16:42
(9) текст soаp- а покажите, пжлста_
12 Pandoch
 
31.10.13
16:43
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">;
<soap:Header>
<wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasisopen.
org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>USERNAME</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-usernametoken-
profile-1.0#PasswordText">SECRET</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05"; Version="1.0">
<ReadRequests>
<HotelReadRequest HotelCode="HOTEL1">
<SelectionCriteria SelectionType="Undelivered"/>
</HotelReadRequest>
</ReadRequests>
</OTA_ReadRQ>
</soap:Body>
</soap:Envelope>
13 Pandoch
 
31.10.13
16:44
Вот тут в Header я так понимаю объект тоже добавляется типа Security, но как добраться до Header'a через прокси я хз
14 Infsams654
 
31.10.13
16:53
(13) а похоже, что никак. Там же он в другом наймспайсе, а прокси создается только для своего xmlns.
Так, что (см. еще v8: Как правильно добавить цифровой сертификат SLL при соединении через web-сервис?) прямые вызовы методов тут не прокатят, т.к. нужна еще в при каждом вызове авторизация через oasis.
По http, если, то все можно заставить работать
15 Serginio1
 
31.10.13
16:53
На C# там как раз и добавляется новый параметр.
v8: Использование WSПрокси
16 Serginio1
 
31.10.13
16:55
17 Infsams654
 
31.10.13
16:57
(15) и на дельфях, тоже можно. Но, какого 1с-ника, теперь этому заставишь
(16) при чем тут подпись? дело в принципе
18 Pandoch
 
31.10.13
16:59
(17) я 1с занимаюсь по воле судьбы. Изучала так то java и c#
19 Pandoch
 
31.10.13
17:00
я вобще стажер-4курсник. ну попробую предожить-написать это дело на шарпе, но до этого еще через http попробую покопаться
20 Serginio1
 
31.10.13
17:02
(17) На шарпе тебе не нужно описывать все структуры.
А вот на Delphi тебе нужно самому будет реализовывать классы с поддержкой IDispatsh. Если конечно Delphi нативный.
21 Infsams654
 
31.10.13
17:03
(18) короче:
в header формируешь строку xml и в body тоже.
Собираешь все в строку envelope и посылаешь post-м по http
22 Pandoch
 
31.10.13
17:05
(21)
obj = Новый COMОбъект("Msxml2.SERVERXMLHTTP");
obj.open ("POST", "http://www.travelline.ru/Api/TLConnect.svc",0);
Текст = "<soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""><soap:Header><wsse:Security soap:mustUnderstand=""1"" xmlns:wsse=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd""><wsse:UsernameToken><wsse:Username>"; + "ЛОГИН" +" </wsse:Username><wsse:Password Type=""http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-usernametoken-profile-1.0#PasswordText"">"; + "ПАРОЛЬ" + "</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body>";
Текст = Текст + ДанныеXML + "</soap:Body></soap:Envelope>";
obj.setRequestHeader("Content-type", "text/xml");
obj.send (Текст);
23 Pandoch
 
31.10.13
17:06
возможно я не тот  COM-объект использую.. но он короче ошибку такую дает:  Cannot process the message because the content type 'text/plain; Charset=UTF-8' was not the expected type 'text/xml; charset=utf-8'.
24 Pandoch
 
31.10.13
17:06
ДанныеXML - это XML который должен быть внутри боди, создан верно
25 Pandoch
 
31.10.13
17:07
Может я еще URL не тот прописываю при создании объекта, я прописала тот, который указа в wsdl в location
26 Serginio1
 
31.10.13
17:07
(18) Там тебе писать по минимуму

Заходишь в Вижуал студию,Создаешь библиотеку, добавляешь ссылку на службу  Добавляешь класс который возвращает объект соединения обернутый в AutoWrap

[ComVisible(true)]
    [ProgId("ИмяТвоегоПрогИД")]
    [ClassInterface(ClassInterfaceType.AutoDispatch)]
    [Guid("Создаешь свой ГУИД")]
    public class ИмяТвоегоКласс//    {



        public object Подключиться()
        {
            return new AutoWrap(new   new ServiceReference2.TLConnectServiceClient());
        }



А с этим объектом работаешь из 1С как с COM объектом
27 Pandoch
 
31.10.13
17:09
(26) - да, я это читала уже, спасибо. Дело в том, что к студии я в крайнем случае буду обращаться, если с http не выйдет, т.к. ее тут нет вобще на компе
28 Infsams654
 
31.10.13
17:11
(25) во обще-то сейчас с 8.2.18 есть в 1С HTTPЗапрос, так что можно не использовать сом (COMОбъект("Msxml2.SERVERXMLHTTP").
Хотя, там и есть причуды.
29 Serginio1
 
31.10.13
17:12
Ну вызов из 1С
сервер=Новый COMОбъект(ИмяТвоегоПрогИДТовоегоКласса);
объект=Новый COMОбъект("NetObjectToIDispatch");
   парам1 = объект.CreateObject("ServiceReference2.SecurityHeaderType","");


            парам1.Password = пароль;
            парам1.Username = Юзер;

итд. Все просто до безобразия
30 Serginio1
 
31.10.13
17:14
Ну и вызов res = serv.HotelAvailRQ(парам1,парам);
31 Serginio1
 
31.10.13
17:18
(27)Так скачай экспресс. И используй.
32 Pandoch
 
31.10.13
17:24
(31) начальник посмеялся на предложение сделать внешнюю компоненту и сказал выбросить эти глупости из головы.
33 Pandoch
 
31.10.13
17:24
буду бодаться с http
34 Infsams654
 
31.10.13
17:25
(31) вот заладил. использование com не есть правильно. Все должно работать платформнонезависимо.
35 Serginio1
 
31.10.13
17:29
(34) Хоть через одно место? Ну это выбор каждого индивидуума.
(32) Это не ВК. Это обычный ком. Желаю удачи.
36 Infsams654
 
31.10.13
17:36
(35) ничего не имею против в конкретном случае. Но когда требуется что-то, что должно работать, например, из рег. задания на сервере под линухом, то, сам понимаешь
37 Serginio1
 
31.10.13
17:45
(36) Это уже беда тех кто себе этот линукс выбрал. Скупой платит дважды. Возможности 1С весьма и весьма ограничены. Я сам по большому счету стараюсь не использовать COM. Но во многих вещах просто нет возможности.
Но вполне можно использовать Net  для таких целей
v8: Вопрос по NetObjectToIDispatch
38 Infsams654
 
31.10.13
18:03
(37) это не беда тех, это твоя беда, когда создаешь тиражируемое решение. Ну, конечно, от конкретной ситуации зависит. "Возможности 1С весьма и весьма ограничены" - полностью согласен
39 Serginio1
 
31.10.13
18:05
(38) Я не создаю тиражируемое приложение. Посмотри исходники. Ты меня с кем то спутал.
40 Serginio1
 
31.10.13
18:07
(38) Мало того, мне сейчас на семерке нужно и с вэб сервисами и XML по схеме работать. Проще всего работать через нетовский враппер.
41 oleg_km
 
31.10.13
18:22
(40) Зачем человека с пути истинного сбивашь, ну хочется ему кактусов, ну на здоровье
42 Pandoch
 
31.10.13
18:24
ребят, вы отклонились от темы слегка в сферу выяснения проф.отношений)
43 oleg_km
 
31.10.13
18:29
(42) Ты сама определись, хочешь ручками собирать СОАП сообщения - пожалуйста. Я тоже так делал для банк-клиента. Умеешь шарп - пробуй то что предлагает Serginio1.

(32) начальник пусть посмеется, когда вы убьете месяц на написание СОАПом в 1С, да помучаетесь с https на HTTPСоединение, а потом 1С в очередном релизе что-нибудь сломает в HTTPСоединение, как это у меня было два раза уже. И я уже три года дружу с WinHTTP. Сейчас переписал на .NET
44 Serginio1
 
31.10.13
18:33
(42) Ну ты для начала почитай про протокол http://www.ishodniki.ru/art/art_progr/net/661.html
45 Pandoch
 
31.10.13
18:42
ок, прочитаю. Можно попробовать реализовать на шарпе. Завтра поставлю на скачку студию.
46 Serginio1
 
31.10.13
18:42
(41) Тут уж предлагают статью написать. v8: Разная скорость работы с COM объектом
У тебя опыта больше. Может напишешь?
47 Pandoch
 
31.10.13
18:43
не подскажете кстати, где можно беспроблемно скачать? помню на первых курсах долго парилась, пока норм скачала установочник
48 Serginio1
 
31.10.13
18:45
(45) тебе нужно что такого

var serv = new ServiceReference2.TLConnectServiceClient();
            var парам = new ServiceReference2.OTA_HotelAvailRQ();
            парам.AvailRequestSegements = new ServiceReference2.AvailRequestSegmentType[1];
            парам.AvailRequestSegements[0] = new ServiceReference2.AvailRequestSegmentType();
            парам.AvailRequestSegements[0].AvailReqType = ServiceReference2.AvailRequestSegmentTypeAvailReqType.Room;
            парам.AvailRequestSegements[0].HotelSearchCriteria = new ServiceReference2.AvailRequestSegmentTypeHotelSearchCriteriaTypeCriterionType[1];
       //     парам.AvailRequestSegements[0].HotelSearchCriteria[0].ExactMatch = true;
        
            var username = serv.ClientCredentials.UserName;
            username.Password = Пароль;
            username.UserName = Юхер;

            var парам1 = new ServiceReference2.SecurityHeaderType();
            парам1.Password = ПарольДляХедера;
            парам1.Username = ЮзерДляХедера;


            var res = serv.HotelAvailRQ(парам1,парам);

что типа такого.

(47) На торрентах все есть.
49 Serginio1
 
31.10.13
18:48
(47) Я когда на Шарп перехожу, сразу удовольствие от кодирования получаю.
Достал этот 1С уже. Как 7ка так и 8 ка.
50 oleg_km
 
31.10.13
19:06
(46) Какого опыта? Я твою обработку пользую, как обезьяна гранату. Ничего не понимаю, главное работает. А так просто портирую код из шарпа в 1С. Типа:

Обработка ВебКлиент

Перем Плагин;

Перем Протокол Экспорт;
Перем Хост Экспорт;
Перем Порт Экспорт;
Перем Прокси Экспорт;
Перем Куки Экспорт;

Перем ЗаголовокЗапроса Экспорт;
Перем ЗаголовокЗапросаДополнительный Экспорт;

Перем КодировкаЗапроса Экспорт;
Перем КодировкаОтвета Экспорт;

Перем обЗапрос Экспорт;
Перем обОтвет Экспорт;
Перем обКуки Экспорт;

Процедура Инициализировать()
    Плагин = БиблАП.ПолучитьNET();
    Протокол = "http";
    Хост = "";
    Порт = 0;
    Прокси = Неопределено;
    Куки = Истина;
    
    ЗаголовокЗапроса = Новый Структура("Accept, Connection, ContentLength, ContentType, Date, KeepAlive, Referer, TransferEncoding, UserAgent",
        "*/*", Неопределено, 0, "application/x-www-form-urlencoded", Неопределено, Истина, Неопределено, Неопределено,
        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1); 1C.Agp");
    ЗаголовокЗапросаДополнительный = Новый Соответствие;
    КодировкаЗапроса = Неопределено;
    КодировкаОтвета = Неопределено;
        
    обЗапрос = Неопределено;
    обОтвет = Неопределено;
    обКуки = Неопределено;
КонецПроцедуры

Процедура УстановитьПроксиПоУмолчанию() Экспорт
    Прокси = ПолучитьОбщуюНастройку("ПРИКЛАДНЫЕ\АДМИНИСТРИРОВАНИЕИКС\ПРОКСИ");
КонецПроцедуры

///////////////////////////////////////////////////
// Соединение

Функция СформироватьУРЛ()
    Возврат Протокол + "://" + Хост + ?(Порт = 0, "", ":" + БиблАП.Число2Стр(Порт)) + "/";
КонецФункции

///////////////////////////////////////////////////
// Отправить запрос

Процедура ОтправитьЗапрос(Ресурс = "", Метод = Неопределено) Экспорт
    обЗапрос = Плагин.GetType("System.Net.WebRequest", "System").Create(СформироватьУРЛ() + Ресурс);
    Если Прокси <> Неопределено Тогда
        обЗапрос.Proxy = Плагин.СоздатьОбъект(Плагин.ПолучитьТип("System.Net.WebProxy", "System"),
            БиблАП.СтрСлева(Прокси, ":"), Число(БиблАП.СтрСправа(Прокси, ":")));
        обЗапрос.Proxy.UseDefaultCredentials = Истина;
    КонецЕсли;
    Если Куки Тогда
        Если обКуки = Неопределено Тогда
            обКуки = Плагин.СоздатьОбъект(Плагин.ПолучитьТип("System.Net.CookieContainer", "System"));
        КонецЕсли;
        обЗапрос.CookieContainer = обКуки;
    КонецЕсли;
    
    ЗаполнитьЗначенияСвойств(обЗапрос, ЗаголовокЗапроса);
    Для каждого текКлюч Из ЗаголовокЗапросаДополнительный Цикл
        обЗапрос.Headers.Add(текКлюч.Ключ, текКлюч.Значение);
    КонецЦикла;
    обЗапрос.ServicePoint.Expect100Continue = Ложь;
    
    Если Метод <> Неопределено Тогда
        обЗапрос.Method = Метод;
    КонецЕсли;
КонецПроцедуры

Процедура ОтправитьЗапросИзСтроки(Ресурс = "", Данные = "") Экспорт
    ОтправитьЗапрос(Ресурс);
    обЗапрос.Method = "POST";
    
    текКодировка = ?(КодировкаЗапроса = Неопределено, Плагин.ПолучитьКодировку(), Плагин.ПолучитьКодировку(КодировкаЗапроса));
    мсБуфер = текКодировка.GetBytes(Данные);
    обЗапрос.ContentLength = мсБуфер.Length;

    обПоток = обЗапрос.GetRequestStream();
    обПоток.Write(мсБуфер, 0, мсБуфер.Length);
    обПоток.Close();
КонецПроцедуры

Процедура ОтправитьЗапросИзФайла(Ресурс = "", ИмяФайла) Экспорт
    ОтправитьЗапрос(Ресурс);
    обЗапрос.Method = "POST";
    
    обФайл = Плагин.СоздатьОбъект(Плагин.ПолучитьТип("System.IO.FileStream"), ИмяФайла,
        Плагин.ПолучитьТип("System.IO.FileMode").Open,
        Плагин.ПолучитьТип("System.IO.FileAccess").Read,
        Плагин.ПолучитьТип("System.IO.FileShare").ReadWrite);
    
    обЗапрос.ContentLength = обФайл.Length;
    
    обПоток = обЗапрос.GetRequestStream();
    Плагин.СкопироватьПоток(обФайл, обПоток);
    обФайл.Close();
    обПоток.Close();
КонецПроцедуры

///////////////////////////////////////////////////
// Получить ответ

Функция ПолучитьОтвет() Экспорт
    обОтвет = обЗапрос.GetResponse();
    Если Куки Тогда
        обКуки.Add(обОтвет.Cookies);
    КонецЕсли;
    
    Возврат обОтвет;
КонецФункции

Функция ПолучитьОтветВСтроку() Экспорт
    ПолучитьОтвет();
    
    текКодировка = ?(КодировкаОтвета = Неопределено, обОтвет.CharacterSet, КодировкаОтвета);
    обПоток = Плагин.СоздатьОбъект(Плагин.ПолучитьТип("System.IO.StreamReader"),
        обОтвет.GetResponseStream(), Плагин.ПолучитьКодировку(текКодировка));
    стрРез = обПоток.ReadToEnd();
    
    Возврат стрРез;
КонецФункции

Функция ПолучитьОтветВФайл(ИмяФайла) Экспорт
    ПолучитьОтвет();
    
    обОтвет = обЗапрос.GetResponse();
    Если Куки Тогда
        обКуки.Add(обОтвет.Cookies);
    КонецЕсли;
    
    обПоток = обОтвет.GetResponseStream();
    
    обФайл = Плагин.СоздатьОбъект(Плагин.ПолучитьТип("System.IO.FileStream"), ИмяФайла,
        Плагин.ПолучитьТип("System.IO.FileMode").Create,
        Плагин.ПолучитьТип("System.IO.FileAccess").Write);
        
    Плагин.СкопироватьПоток(обПоток, обФайл);
    обФайл.Close();
    обПоток.Close();
    
    Возврат Истина;
КонецФункции

Функция ПолучитьЗаголовкиОтвета() Экспорт
    Рез = Новый Соответствие;
    
    Для ии = 0 По обОтвет.Headers.Count - 1 Цикл
        Рез.Вставить(обОтвет.Headers.Keys.Get(ии), обОтвет.Headers.Get(ии));
    КонецЦикла;
    
    Возврат Рез;
КонецФункции

Инициализировать();

(49) Если честно - аналогично. Сейчас дочери помогаю с домашними работами на VS, демаю ребенок пусть занимается чем-нибудь серьезным
51 oleg_km
 
31.10.13
19:49
(47) Я качал вроде с самого майкрософта, а ключик где-то потом взял.
52 Serginio1
 
01.11.13
10:37
(50) Ну вот не было у меня создать объект

public object СоздатьОбъект(object Тип,params object[] параметры)
        {
            return new AutoWrap(System.Activator.CreateInstance(Type.GetType(type), параметры));
              
        }

А ты добавил, как и обращение к типам итд.
53 oleg_km
 
01.11.13
11:34
(53) Так Плагин - это обработка 1С, 1С'ная обертка уде шарповской обертки. Просто мне организационно удобнее менять код только в 1С. Если изменять сам COM на шарпе, то потом его нужно копировать и устанавливать на 100 компьютеров пользователей. Даже если это сделать через ГП, то все равно пользователи должны перезапустить ПК и пр. Но и это небольшая беда. Этот КОМ используется и на сервере, а это значит нужно еще и перезапускать сервер. Поэтому из твоего КОМ на шарпе я ставил только сам враппер и GetType. А СоздатьОбъект это уже реализовано на стороне 1С: получаю статический Activator и пошел клепать из него объекты.

Статейку я думал тиснуть, но:
- во-первых, есть ощущение, что кроме нас с тобой это никому не интересно и даже не понятно зачем это нужно;
- во-вторых, есть же более "продвинутый" проект Elisy, в котором все это с избытком, как я понимаю покрыто. Я даже в какой-то момент думал приобресть и не париться, да уже как-то привык к своему.

Если интересно могу выслать что получилось.
54 Serginio1
 
01.11.13
13:45
(53) Ну вариант через Reflect проще и его можно использовать из любого сом объекта.

53 Буду благодарен. Просто сейчас как раз нужно делать обмен с Edi Soft
адрес EDI: Exite или  Comarch+EDI
55 Serginio1
 
01.11.13
13:51
Я еще добавил у себя
public object ТипКакОбъект(object Тип)
        {
            if (Тип is AutoWrap)
                Тип = ((AutoWrap)Тип).T;
            Type T = ((Type)Тип);

            return new AutoWrap(T, T.GetType());
        }

что бы добраться до объектных методов типа.
А так все остальное можно решать через шарповской обертки
56 Serginio1
 
01.11.13
13:56
(0) Кстати у них не совсем правильное описание

wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasisopen.
org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken>
<wsse:Username>USERNAME</wsse:Username>

<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-usernametoken-
profile-1.0#PasswordText">SECRET</wsse:Password>

</wsse:UsernameToken>
</wsse:Security>



само описание
-<xs:schema targetNamespace="https://www.travelline.ru/Api/TLConnect"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified"><xs:element name="Security" type="tns:SecurityHeaderType"/>-<xs:complexType name="SecurityHeaderType"><xs:attribute name="Username" type="xs:string"/><xs:attribute name="Password" type="xs:string"/></xs:complexType></xs:schema></wsdl:types>

нет никакого UsernameToken и другое пространство имен.
57 oleg_km
 
01.11.13
14:31
(54) Попробую на выходных собрать все в кучку
58 Pandoch
 
01.11.13
15:36
(57), (56) - ребята, мы пришли к консенсусу - они убрали спешл фор ас часть header, теперь обычным соапом отправляет - получает) спасибо за активное содействие)
59 Serginio1
 
01.11.13
15:48
Ну если соберешься на шарпе писать. То там можно и хедеры в конфигурационном файле прописать. Например
http://stackoverflow.com/questions/5836685/correct-way-communicate-wsse-usernametoken-for-soap-webservice
60 Pandoch
 
01.11.13
15:55
(59) - спасибо за инфу, интересно так-то. На будущее запомню
61 oleg_km
 
01.11.13
20:14
(58) Обычный СОАП - это WSОпределение?
62 Serginio1
 
05.11.13
10:30
(57) Вообще 1С могли сами такой порт к Net сделать, чем самим городить свои функционал. Для линукса есть моно, ява.
Многие не пользуются потому, что это сторонняя библиотека. Если бы она была в составе дистрибутива и доступ к врапперу через механизм 1С то пользовались бы на прополую. Тем более, что одна и таже библиотека может работать как в 32 так и 64 разрядном приложениях.
63 Pandoch
 
06.11.13
10:26
(61) - да
Программист всегда исправляет последнюю ошибку.