Может, это запрос GetNewData (согласно описанию сервиса)?
Во всяком случае, издалека на него похоже. Но тогда subscribedForums не cовсем похоже на
ArrayOfRequestForumInfo A? прада, может просто не знаю всех особенностей реализации
сервисов под .NET
И тогда не понял Если я просто хочу получить список форумов, мне нельзя
пользоваться GetForumList? А надо составлять весьма монструознообразный GetNewData?
И откуда появились на пустой базе ratingRowVersion и forumRowVersion?
В общем, помогите, а А я вам клиента на Эрланге наваяю
Здравствуйте, <Аноним>, Вы писали:
А>Это опять Мамут
Не верю! Настоящий Мамут бы воспользовался поиском!!!
А>Ethereal показал мне, что при синхронизации с форумами Янус отсылает следующее сообщение:
Янус работает со старым сервисом, без "AT". Там протокол другой. Поэтому все последующие выводы неверны.
А>И откуда появились на пустой базе ratingRowVersion и forumRowVersion?
От балды, == 0. Их потом сервис вернёт, тогда-то их нужно будет запомнить и подсовывать.
А>В общем, помогите, а А я вам клиента на Эрланге наваяю
Почему твой исходный пакет не проходит — не знаю. М.б., ты некорректно формируешь не SOAP-пакет, а сам HTTP-запрос. Тем же Этрилом его посмотри, может не так что. Ещё был вариант делать имени-паролю Base64 из принципа, но по-моему Мерл делал без этого. Ещё для сервиса требуется поддержка coockies.
... << RSDN@Home 1.2.0 alpha rev. 655>> SQLE 2005
Re[3]: К вопросу о сервисе...
От:
Аноним
Дата:
11.09.06 13:01
Оценка:
А>>Это опять Мамут
A>Не верю! Настоящий Мамут бы воспользовался поиском!!!
Зуб даю
А>>Ethereal показал мне, что при синхронизации с форумами Янус отсылает следующее сообщение:
A>Янус работает со старым сервисом, без "AT". Там протокол другой. Поэтому все последующие выводы неверны.
Ага, понятно.
А>>И откуда появились на пустой базе ratingRowVersion и forumRowVersion?
A>От балды, == 0. Их потом сервис вернёт, тогда-то их нужно будет запомнить и подсовывать.
Да действительно, это — в поиск
А>>В общем, помогите, а А я вам клиента на Эрланге наваяю
A>Почему твой исходный пакет не проходит — не знаю. М.б., ты некорректно формируешь не SOAP-пакет, а сам HTTP-запрос. Тем же Этрилом его посмотри, может не так что. Ещё был вариант делать имени-паролю Base64 из принципа, но по-моему Мерл делал без этого. Ещё для сервиса требуется поддержка coockies.
А, вот она, по-моему, где собака порылась.
Да! Да! Именно здесь она и порылась!! Ура!!! Я получил список форумов!!!
http:set_options([{cookies, enabled}]) — это наше все
Ну, теперь буду потихоньку ковырять дальше... Вoт она, щастя!
Эрланг я копаю очень потихоньку. Да и бан мой только сегодня в 17:17 по Москве закончился. Поэтому остальные функции я буду добалять меедленно. Но верно
На данный момент в репозитории есть только один тестовый файл, на котором я тренируюсь. Как на кошках а также:
trunk
|
- includes
- janus.hrl - описания структур на основе http://rsdn.ru/Forum/?mid=1301787
- src
- test.erl - собственно тестовый файлик
- varia
- response.xml - ответ на запрос GetForumList, чтобы оттачивать
работу с XML :)
- ebin
- test.beam - скомпилированный test.erl
В ближайших планах:
— добавить не требующие усиленных теложвижений запросы типа GetNewData или GetTopicByMessage
— добавить какую-никакую базу данных (как никакую? Mnesia!)
На это у меня уйдет, по предварительным расчетам, неделя-другая
Мне кажется, что ни RSDN@Linux ни Яnux не отражают кроссплатформенности проекта. Кстати, почему я назвал Orcas? Потому что Janux на sf.net уже был, а другие названия в голову не лезли
— Orcas это от какого слова? От Орка?
— Я, когда пытался зарегить проект на SF.net, столкнулся с тем, что Janux, например, занят. Потом в голову взбрело слово orcas, от английского слова orca, что значит "касатка". Даже рисунок под это дело нашел Правда, Шеридан его уже заменил
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>А зачем, к слову?
Таким способом Мерл блокирует отправку дубликатов сообщений. Была у нас как-то проблема дублей от Януса. Решить её, конечно, можно разными способами. Способ с куками сработает одинаково для Веб и Януса.
При вызове первого метода сервер задаёт куку, и если при последующих вызовах ему эту куку предоставят, то дубли вызовов методов можно будет отследить и отфильтровать. В общем, всё как в настоящем веб, см. протокол HTTP.
Ну а если вызывающий нагло не даёт куку, хотя должен был, то его тоже фильтруют, за невоспитанность.
Здравствуйте, AndrewVK, Вы писали:
A>>>Ещё для сервиса требуется поддержка coockies.
ЗХ>>А зачем, к слову?
AVK>Для поддержки сессий.
Не, зачем в принципе куки изобретены, я в курсе. Имелось в виду "зачем куки, если все равно в каждом запросе надо логин-пароль передавать".
AVK>Впрочем, в 2.0, кажется, обходятся уже без них.
Ага. А если к JanusAT.asmx обращаться клиентом без поддержки куков — что будет?..
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Не, зачем в принципе куки изобретены, я в курсе. Имелось в виду "зачем куки, если все равно в каждом запросе надо логин-пароль передавать".
Ты думаешь, логин-пароль это единственное, что имеет смысл хранить в сессии?
ЗХ>Ага. А если к JanusAT.asmx обращаться клиентом без поддержки куков — что будет?..
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Не, зачем в принципе куки изобретены, я в курсе. Имелось в виду "зачем куки, если все равно в каждом запросе надо логин-пароль передавать".
Сразу вспомнился анекдот с моралью, что "только программист может дать одинаково точный и бесполезный ответ".
Здравствуйте, Mamut, Вы писали:
M>Является ли такой запрос нормальным к сервису Януса, или все должно быть согласно описаниям в M> GetForumList?
Честно говоря — не знаю. Полагаю, что вариант, приведенный по ссылке выше, точно сработает. Что-то подсказывает мне, что там не зря пространство имён soap указано, и ссылка на него. А env — некое другое пространство, с др. правилам там, потому может быть в пролёте.
А что мешает проверить этот запрос? Или ты уже проверил, и он не работает?
M>>Является ли такой запрос нормальным к сервису Януса, или все должно быть согласно описаниям в M>> GetForumList?
A>Честно говоря — не знаю. Полагаю, что вариант, приведенный по ссылке выше, точно сработает. Что-то подсказывает мне, что там не зря пространство имён soap указано, и ссылка на него. А env — некое другое пространство, с др. правилам там, потому может быть в пролёте.
A>А что мешает проверить этот запрос? Или ты уже проверил, и он не работает?