Имя: Пароль:
1C
1С v8
XDTO. Помогите побороть. Заголовок SOAP.
0 totparen
 
06.03.14
22:34
Пытаюсь подключиться к ВЕБ-Сервису sletat.ru, мануал тут http://sletat.ru/files/Manual/xml-gateway-manual.pdf

WSDL документ расположен по адресу:
http://module.sletat.ru/XmlGate.svc?singleWSDL

Импортирую в конфигурацию.
Далее вешаю код на кнопку.

    СервисСлетать = WSСсылки.Sletat.СоздатьWSПрокси("urn:SletatRu:Contracts:Soap11Gate:v1", "Soap11Gate", "Soap11" );
    
    Фабрика = СервисСлетать.ФабрикаXDTO;
    
    ЛогиныПароли = СервисСлетать.ФабрикаXDTO.Пакеты.Получить("urn:SletatRu:DataTypes:AuthData:v1").Получить("AuthData");
    
    //Тут я создаю объект, но незнаю куда его приткнуть. Поэтому весит без дела.
    ЗначенияЛогиновПаролей = СервисСлетать.ФабрикаXDTO.Создать(ЛогиныПароли);
    ЗначенияЛогиновПаролей.Password = "********";
    ЗначенияЛогиновПаролей.Login = "*******";
    
    Ответ = СервисСлетать.GetDepartCities();

Ругается так:
Ошибка SOAP сервера:  Данные для авторизации в заголовке AuthData не предоставлены.

В документации написано, что на сервис посылается что-то типа этого:

<soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="http://www.w3.org/2001/XMLSchema">;
<soap:Header>
<AuthInfo xmlns="urn:SletatRu:DataTypes:AuthData:v1">
<Login>********</Login>
<Password>********</Password>
</AuthInfo>
</soap:Header>
<soap:Body>
<GetDepartCities xmlns="urn:SletatRu:Contracts:Soap11Gate:v1" />
</soap:Body>
</soap:Envelope>

По сути получается я не включил в пакет заголовок AuthInfo

Как его приклеить?
1 totparen
 
07.03.14
06:47
Колитесь, партизаны!
2 totparen
 
07.03.14
07:40
Как через WSПрокси залесть в заголовок? <soap:Header>
3 totparen
 
07.03.14
08:25
Куда хоть копать-то?
4 toypaul
 
гуру
07.03.14
08:59
должен быть метод аутентификации.

ты логин с паролем создал, но не передал никуда
5 toypaul
 
гуру
07.03.14
09:01
в описании для .NET 3.5 метод GetDepartCities принимает данные аутентификации.
6 toypaul
 
гуру
07.03.14
09:03
кроме того у СервисСлетать скорее всего в свойствах (судя по описанию в мануале) должны быть данные аутентификации
7 totparen
 
07.03.14
09:29
(4) дык эти данные аутентификации и крепятся в заголовке. При каждом вызове любого метода.
8 Serginio1
 
07.03.14
10:32