|   |   | 
| 
 | 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 | 
        (14) У неё нет подписи сообщений. как v8: Подключение к Web-сервису стороннего разработчика (не 1С)     | |||
| 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) - да     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |