Имя: Пароль:
1C
1С v8
Внешний веб сервис. Как прочитать то, что возвращается в xml?
0 rombombes
 
09.02.14
14:43
Здравствуйте. Есть внешний веб сервис. Не уверен правильно ли я работаю с XDTO.

Первый код должен возвращать строку, с ним проблем не возникает:

ConnectToServer         = Прокси.ConnectToServer(Пользователь,Пароль,300);
    
    <ConnectToServerResponse xmlns="http://gis.org/">;
      <ConnectToServerResult>string</ConnectToServerResult>
    </ConnectToServerResponse>


Второй код должен возвращать как я понял xml, вопрос как его получить?:

ТипОбъектаXDTO = Прокси.ФабрикаXDTO.Тип("http://gis.org/","GetObjInfo";);
    
ОбъектXDTO = Прокси.ФабрикаXDTO.Создать(ТипОбъектаXDTO);
    
ОбъектXDTO.установить(ТипОбъектаXDTO.Свойства.Получить("id"),34);
    
Результат = Прокси.GetObjInfo(ОбъектXDTO);

    <GetObjInfoResponse xmlns="http://gis.org/">;
      <GetObjInfoResult>xml</GetObjInfoResult>
    </GetObjInfoResponse>

Результат.GetObjInfoResult возвращает Неопределено
1 Читатель снов
 
09.02.14
14:45
SoapUI скачайте. Полезная штука для отладки веб-сервисов.
2 rombombes
 
09.02.14
14:53
(1) Спасибо, скачаю. Но работаю удаленно поэтому явно не сегодня. Придется на рабочем месте качать :)
3 rombombes
 
09.02.14
15:24
Я вообще правильно понял, что проблема в возвращаемом XML? Т.е. мне нужно правильно установить тип данных перед получением результата?
4 rombombes
 
10.02.14
12:13
up
5 rombombes
 
10.02.14
12:24
WSОпределение = Новый WSОпределения(WSDL, , );
        WSПрокси = Новый WSПрокси(WSОпределение, URI, Name, Port);
        WSПрокси.Пользователь = Login;
        WSПрокси.Пароль = Pwd;
        //
        ConnectToServer         = WSПрокси.ConnectToServer(Login,Pwd,300);
        

        ТипWSПараметра = WSПрокси.ФабрикаXDTO.Пакеты.Получить(URI).Получить("GetObjInfo");

        //WSПараметр.id = WSПрокси.ФабрикаXDTO.Создать(WSПрокси.ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema","string";), "34");

        WSПараметр        = WSПрокси.ФабрикаXDTO.Создать(ТипWSПараметра);

        WSПараметр.установить(ТипWSПараметра.Свойства.Получить("id"),34);
                
        Значение = WSПрокси.GetObjInfo(WSПараметр).GetObjInfoResult;

Может так понятнее будет)  

Значение возвращает Неопределено   а по всей видимости должно быть xml
6 rombombes
 
10.02.14
15:47
up
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.