Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> .vsdisco и что с ним делать, как клиент его должен читать? 
:(
    Опции темы
-ser-
Дата 30.8.2007, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: нет
Всего: 13



не понимаю, как клиент должен смотреть .vsdisco файл. и что с ним дальше делать.
записал я его в директорию где находятся мои веб-сервисы.
некоторые документации говорят: ... и когда клиент запросит .vsdisco ...

код ниже взят из примера по созданию упрощенной версии (в  рамках одной организации) UDDI. 
суть в том что у нас имеется SQL таблица c contract, documentation, где хранятся 'зарегистрированные' нами WebService'ы.

что клиент должен увидеть? я по незнанию открываю его через интернет броузер, что-то каждый раз мелькает, но ничего не получаю.

вопрос идиотский ибо так и не понял как его использовать и что я должен в данном случае получить или увидеть. поэтому и привожу сам файл:

Код

<%@ page language="C#" contenttype="text/xml" enablesessionstate="false" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>
<%
Response.ContentType = "text/xml";
%>
<disco:discovery xmlns:disco="http://schemas.xmlsoap.org/disco/"
  xmlns:scl="http://schemas.xmlsoap.org/disco/scl/">
<%
SqlConnection conn = new SqlConnection("data source=wert;initial catalog=rtuy;user id=sa;pwd=tyui" );
conn.Open();
try
{
  SqlCommand cmd = new SqlCommand("select contract, documentation from contracts");
  cmd.Connection = conn;
  IDataReader reader = null;
  reader = cmd.ExecuteReader();

  while (reader.Read()) {
%>
    <scl:contractRef ref="<%= reader[0].ToString() %>" docRef="<%= reader[1].ToString() %>" />
<%
  }
}
finally
{
  conn.Close();
}
%>
</disco:discovery>





--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
tol05
Дата 30.8.2007, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



Цитата(-ser- @  30.8.2007,  08:30 Найти цитируемый пост)
код ниже взят из примера по созданию упрощенной версии (в  рамках одной организации) UDDI

Возникают противоречивые чувства (скажем так), потому что, в принципе, UDDI и disco - это два альтернативных метода для реализации служб обнаружения, причем есть мнение, что disco (чисто .Net-овская приблуда, кстати) - откровенное г... smile 

Ты не это читал?
Обычная ASP-страница, которая на запрос клиента пытается динамически сгенерить ему Response (лезет в базу и для каждого найденного сервиса динамически генерит линк).
Цитата

Then when clients request the uddilite.vsdisco file in the sample's vroot, it's automatically generated from the information stored in SQL Server. This is accomplished by mapping requests for uddilite.vsdisco to the ASP.NET System.Web.UI.PageHandlerFactory class. This causes the runtime to treat the uddilite.vsdisco file just like a standard ASP.NET page, which is shown in Figure 17.


MSDN (топик "How to: Enable Discovery for XML Web Services") показывает простую структуру disco-файлов и даже учит самому их писать, в блокноте даже, по-моему (во всяком случае - статические disco)
вот еще источник 
Цитата
As we discuss shortly, Web services created using ASP.NET contain the functionality to generate a .disco file when it is requested. This .disco file contains references only to files in the current Web service. Thus, a developer typically places a .vsdisco file at the root of a server; when accessed, this file locates the .disco files for Web services anywhere on the system and uses the markup found in these .disco files to return information about the entire system.

Одним словом, запрос disco возвращает в браузер xml с линками на location Web-сервисов сервера. 

Последовательность такая:
1. Клиент открыл броузер и послал серверу запрос на *.vsdisco. IIS мапит *.vsdisco на ASP.NET (так же как aspx, asmx... можно посмотреть). Только запросы будет обрабатывать не Page, a DiscoveryRequestHandler.
2. Сервер сформировал xml-ответ броузеру, у клиента отлично видны линки на все Web-сервисы, которые у сервера есть.
3. Клиент выбрал сервис и запрашивает WSDL на него... Получает.
4. Клиент запрашивает сервис... Получает...

Это сообщение отредактировал(а) tol05 - 31.8.2007, 09:41


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
-ser-
Дата 3.9.2007, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: нет
Всего: 13



Цитата(tol05 @  30.8.2007,  23:10 Найти цитируемый пост)
Ты не это читал?
 вот это: http://msdn.microsoft.com/msdnmag/issues/02/02/xml/ 
в самом конце статьи - UDDI-lite.

Цитата(tol05 @  30.8.2007,  23:10 Найти цитируемый пост)
UDDI и disco - это два альтернативных метода для реализации служб обнаружения

поскольку в статье речь идет о UDDI-lite, зачем тогда они запихнули в проект (XML0202.exe (40KB) там же) этот .vsdisco (который на поверку оказывается обычная ASP-страница)? Ведь у меня UDDI-lite и без .vsdisco покажет список 'зарегистрированных' сервисов из SQL (я правда не понимаю что с ним дальше делать, но об этом ниже).

Цитата(tol05 @  30.8.2007,  23:10 Найти цитируемый пост)
Then when clients request the uddilite.vsdisco file

Цитата(tol05 @  30.8.2007,  23:10 Найти цитируемый пост)
1. Клиент открыл броузер и послал серверу запрос на *.vsdisco.

Цитата(tol05 @  30.8.2007,  23:10 Найти цитируемый пост)
Thus, a developer typically places a .vsdisco file at the root of a server; when accessed...


Вот я и спрашиваю, каким именно образом клиент запрашивает этот файл / посылает серверу запрос на *.vsdisco ? 

я, например, вручную открыл броузер и кликнул на этот .vsdisco, и получил комбинацию из трех пальцев. точнее окно: Do you want to open or save this file? Open - дает такое же окно и так до бесконечности, хоть у меня всего одна запись в SQL-таблице. Что-то неправильно в этом файле или я его неправильно запрашиваю?

Цитата(tol05 @  30.8.2007,  23:10 Найти цитируемый пост)
у клиента отлично видны линки на все Web-сервисы, которые у сервера есть.
  как я описал выше, не вижу.


Насколько я понимаю, страница с UDDI-lite в том проекте создана для того, чтобы только (де)регистрировать веб-сервисы и сама по себе предназначена, скажем так, для регистраторов.

Теперь клиент, используя каким-то образом .vsdisco должен увидеть список (насколько я понимаю, подобно тому списку, что видит регистратор используя UDDI-lite веб-страницу). 

Ну даже допустим вижу список, получил WSDL. И что мне с ним дальше делать?

я что, вручную добавляю веб-ссылку в своем проекте на этот wsdl / копирую и сохраняю респонс в WSDL файл и создаю ссылку?
Правильно я понимаю или привратно? И где тогда здесь динамическое связывание? Что-то изменилось с сервисом, я должен менять ссылки в своем проекте заново?

да и, собственно говоря, в этом случае мне и wsdl не нужен. добавив ссылку на сам сервис, студия сама для себя его создаст в проекте.


Это сообщение отредактировал(а) -ser- - 3.9.2007, 08:55


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
tol05
Дата 3.9.2007, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 34
Всего: 170



Цитата(-ser- @  3.9.2007,  08:37 Найти цитируемый пост)
поскольку в статье речь идет о UDDI-lite, зачем тогда они запихнули в проект (XML0202.exe (40KB) там же) этот .vsdisco (который на поверку оказывается обычная ASP-страница)? 
чтобы показать разнообразие способов работы. 

Цитата(-ser- @  3.9.2007,  08:37 Найти цитируемый пост)
Цитата(tol05 @  30.8.2007,  23:10 )
UDDI и disco - это два альтернативных метода для реализации служб обнаружения
в твоей же статье написано 
Цитата

UDDI as a Better DISCO
UDDI, which is rapidly evolving as a standard, goes beyond DISCO by defining how to interact with a full-fledged Web Service information repository
как раз это я и имел в виду smile

Цитата(-ser- @  3.9.2007,  08:37 Найти цитируемый пост)
я, например, вручную открыл броузер и кликнул на этот .vsdisco, и получил комбинацию из трех пальцев. точнее окно: Do you want to open or save this file? Open - дает такое же окно и так до бесконечности, хоть у меня всего одна запись в SQL-таблице. Что-то неправильно в этом файле или я его неправильно запрашиваю?
не знаю... а обычный xml у тебя браузер отображает? Надо посмотреть настройки браузера ИМХО.
раздел "DISCO and Dynamic Discovery", там же показано, что должен видеть клиент - xml (Figure 6).

Цитата(-ser- @  3.9.2007,  08:37 Найти цитируемый пост)
Ну даже допустим вижу список, получил WSDL. И что мне с ним дальше делать?

я что, вручную добавляю веб-ссылку в своем проекте на этот wsdl / копирую и сохраняю респонс в WSDL файл и создаю ссылку?
да, disco нужны только для того, чтобы сервер выдал тебе ответ о том, какие вообще сервисы у него есть. И все. дальше ты выбираешь из них нужный или, наоборот, видишь, что нет такого сервиса, нечего его и запрашивать... А работа с сервисами - как обычно, через WSDL и Web-ссылки.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
-ser-
Дата 3.9.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: нет
Всего: 13



Цитата(tol05 @  3.9.2007,  09:41 Найти цитируемый пост)
а обычный xml у тебя браузер отображает?

отображает. выходит что-то не то с самим этим .vsdisco (ака ASP page)




--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0942 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.