Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/70: Рейтинг темы: голосов - 70, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 09.02.2009
Сообщений: 56

Сериализация объекта полученного из Web сервиса

25.10.2009, 15:46. Показов 12947. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ну вообщем встала задача обратиться из Лотуса к Веб сервису.
С обращением проблем особо не возникло.

Code
1
2
3
4
5
6
7
8
9
Sub Test()
Dim Res As Variant
sWSDL="http://.../Service.asmx?WSDL"
Set Client =CreateObject("MSOSOAP.SoapClient30")
Call Client.mssoapinit (sWSDL)
CLient.ClientProperty("ServerHTTPRequest") = True
CLient.ConnectorProperty("Timeout") = 70000
Set Res=Client.CeateArea("test", "test")
End Sub
И получаем объект Res, я знаю его структуру, но обращение из разряда X = Res.A выдают ошибку.
Соответственно есть 2 пути решения проблемы:
1.Возвращать переменные строго заданного типа, но это плохое решение.
2. Сериализовать полученный объект... и вот тут и встает вопрос КАК? На Jave вроде примеров много, но мне интересно узнать есть ли решение на Scripte?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.10.2009, 15:46
Ответы с готовыми решениями:

Вызов com-объекта из web-сервиса
возможно кто-нибудь сталкивался с такой проблемой: в VS 2003 возникает ошибка System.InvalidCastException при вызове из web-сервиса любого...

2 сервиса (WCF Web API и ASP.NET Web API) на одном хосте
Есть БД с юзерами Есть консольное приложение (OWIN selfhost) с контроллером ImportController : ApiController для выполнения POST запросов...

Connect объекта, полученного через qobject_cast
Почему то выдается "read access violation" OpticsServer* server = qobject_cast<OpticsServer*>(this->parent()); connect(this,...

6
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
25.10.2009, 22:38
простейшее, что приходит на ум - преобразовать нужные поля в разделенную строку, получить ее, распарсить и сформировать на этих значениях свой объект.
думаю, где-то так оно и работает
0
0 / 0 / 0
Регистрация: 09.02.2009
Сообщений: 56
26.10.2009, 11:33
думаю, где-то так оно и работает
Ну эт понятно =)
Но вопрос собственно говоря в чем...
Например используя XMLHTTP сервис вернет чистый XML , и его можно парсить Лотусинными средствами. На XMLHTTP , кстати и примеров побольше, так что попробую еще и на нем реализовать.
Но вот , что ворзвращает MS Soap? Я считаю что в нем(SOAP) есть какой то парсер его же объектов, а так как с веб сервисами раньше толком дела не имел, многое остается непонятно...
Вот можно например поподробней , что такое MS SoapReader? что это за COM такой?
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
26.10.2009, 11:52
сам соап не юзал.
подозреваю, что соап определяет автоматическую сериализацию/десериализацию

или то корба?.. короче, я тебя токо запутаю ))
0
0 / 0 / 0
Регистрация: 09.02.2009
Сообщений: 56
26.10.2009, 12:15
А можешь, тогда пример кода на XMLHTTP? Или ты не на нем писал?
0
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
26.10.2009, 12:44
не особо... некоторые тесты с ajax проводил только...
0
0 / 0 / 0
Регистрация: 09.02.2009
Сообщений: 56
26.10.2009, 15:23
Вообщем все оказалось просто

Так как дебагер Lotusа не возвращал мне структуру объекта, я переписал все в обычный VB, и там уже посмотрел структуру полученного объекта. И понял что xml лежит вы Res.Context.xml. Ну распарсить данный xml - лекго, да и не моя задача
Получилось :

Code
1
2
3
4
5
6
7
8
9
Dim Res As Variant
sWSDL=".../Service.asmx?WSDL"
Set Client =CreateObject("MSOSOAP.SoapClient30")
Call Client.mssoapinit (sWSDL)
CLient.ClientProperty("ServerHTTPRequest") = True
CLient.ConnectorProperty("Timeout") = 70000
Set Res=Client.CeateArea("test", "test")
ResXml = Res.Context.xml
Msgbox ResXml
Всем спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.10.2009, 15:23
Помогаю со студенческими работами здесь

Сериализация объекта
Доброго времени суток. Есть объект, нужно сериализовать его и записать в файл: сериализовали - записали, сериализовали - записали. Можно...

Сериализация объекта
public class UserObject { public string variable1{ get; set; } public LibraryType variable2{ get; set;...

Сериализация объекта
Доброго времени суток. Мне нужно сериализавать объект то есть создать бинарный файл, проблема в том что я хочу до записывать одинаковые...

Сериализация объекта
У меня есть абстрактный метод: public abstract void save(); Вот его одна из вариаций переопределения public override void save()...

Вызов Web-сервиса. Help
Нужно передавать файл в кодировке BASE64 но в формате XSD_STRING. Вызов на LS через Web Service Consumers. Так вот на больших файлах...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru