|
Использование WSПрокси | ☑ | ||
---|---|---|---|---|
0
Pandoch
30.10.13
✎
15:55
|
Доброго времени суток! Создаю WSПрокси для работы с веб-сервисом, описанным в wsdl-файле. Объект создается, создаются объекты описанны[ типов объектом ФабрикаXDTO, все заполняется. Написано в руководстве, что запрос должен отправляться в форме SOAP-запроса. Я так поняла WSПрокси сам создает структуру этого запроса, остается только передать созданный объект как параметр метода. Но почему-то при попытке вызова метода ошибка вылазит. Вот код:
Определение = Новый WSОпределения("file:///C:/Users/AUBashinskaya/Desktop/TLConnect.svc"); Сервис = Определение.Сервисы[0]; Прокси = Новый WSПрокси( Определение, "https://www.travelline.ru/Api/TLConnect", "TLConnectService", "BasicHttpBinding_ITLConnectService" ); Прокси.Пароль = "PERc0IDUfbPTolsiDglM"; Прокси.Пользователь = "pms1cbit"; Фабрика = Прокси.ФабрикаXDTO; //далее создание нужной структуры объекта, заполнение данными ... ТипФ = Фабрика.Тип("http://www.opentravel.org/OTA/2003/05", "OTA_HotelAvailRQ"); Объект = Фабрика.Создать(ТипФ); Объект.AvailRequestSegements = AvailRequestSegements; Прокси.HotelAvailRQ(Объект); //тут возникает ошибка Текст ошибки: {Обработка.БИТ_Отель_TravelLine.МодульОбъекта(96)}: Ошибка при вызове метода контекста (HotelAvailRQ) Прокси.HotelAvailRQ(Объект); по причине: Ошибка вызова операции сервиса: {https://www.travelline.ru/Api/TLConnect}:TLConnectService:HotelAvailRQ() по причине: Неизвестная ошибка. Ошибка работы с Интернет: Couldn't resolve host name по причине: Ошибка работы с Интернет: Couldn't resolve host name Может быть надо указывать какие-то еще параметры? wsdl: https://www.travelline.ru/Api/TLConnect.svc?singleWsdl |
|||
1
Serginio1
30.10.13
✎
16:51
|
Не любит 1с HTPS. Но еще и тут и защита сообщений
-<wsdl:operation name="HotelAvailRQ"><soap:operation style="document" soapAction="https://www.travelline.ru/Api/TLConnect/HotelAvailRQ"/>-<wsdl:input name="HotelAvailRQRequest"><soap:header use="literal" message="tns:HotelAvailRQRequest_Headers" part="Security"/><soap:body use="literal"/></wsdl:input>-<wsdl:output name="HotelAvailRQResponse"><soap:body use="literal"/></wsdl:output></wsdl:operation> |
|||
2
Pandoch
30.10.13
✎
17:07
|
Serginio1, не поняла, на что Вы указываете, мне нужно какие-то параметры доп. прописывать?
|
|||
3
Serginio1
30.10.13
✎
17:14
|
Нет. На вскидку у SOAP протокола есть защита транспорта и сообщений
v8: Подключение к Web-сервису стороннего разработчика (не 1С) Что и как поддерживается 1С ХЗ. Могу проверить на C# |
|||
4
Pandoch
30.10.13
✎
17:20
|
Буду очень признательна, если сможете получить какую-то полезную информацию
|
|||
5
Serginio1
30.10.13
✎
17:20
|
Кстати а что у тебя представляет AvailRequestSegmentType
|
|||
6
Serginio1
30.10.13
✎
17:21
|
Но вообще по Couldn't resolve host name проблемы с подключение с требуемой безопасностью
|
|||
7
Pandoch
30.10.13
✎
17:24
|
В смысле что представляет? Ну элемент вложенной структуры.
|
|||
8
Serginio1
30.10.13
✎
17:29
|
Да еще первым параметром передается такая структура
public partial class SecurityHeaderType : object, System.ComponentModel.INotifyPropertyChanged { private string usernameField; private string passwordField; /// <remarks/> [System.Xml.Serialization.XmlAttributeAttribute()] public string Username { get { return this.usernameField; } set { this.usernameField = value; this.RaisePropertyChanged("Username"); } } /// <remarks/> [System.Xml.Serialization.XmlAttributeAttribute()] public string Password { get { return this.passwordField; } set { this.passwordField = value; this.RaisePropertyChanged("Password"); } } |
|||
9
Pandoch
30.10.13
✎
17:33
|
Что с этим делать?
|
|||
10
Serginio1
30.10.13
✎
17:40
|
У меня что то возвращает на запрос,овыдает ошибку разбора XML. Но я не знаю, что из себя представляет AvailRequestSegmentType.
Написать порт на C#. Смотри v8: Подключение к Web-сервису стороннего разработчика (не 1С) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |