Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Web-service WSDL / 10 сообщений из 10, страница 1 из 1
10.10.2006, 14:26
    #34044450
CyberRussia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Приветствую, есть веб-сервис, написанный на asp.net C#, как наследник класса System.Web.Services.WebService. Работает, проблем нет. Но, надо чтобы wsdl запращиваемый потенциальным клиентом генерился не автоматически, а выдавался некий вручную заданный. Соответствующий wsdl документ уже есть. Вопрос: как к существующему веб-сервису подключить статический wsdl документ?
...
Рейтинг: 0 / 0
10.10.2006, 14:40
    #34044512
mclabman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Ищи в MSDN
<webServices> Element
...
Рейтинг: 0 / 0
10.10.2006, 15:33
    #34044768
CyberRussia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Здравствуйте, mclabman, Вы писали:

M>Ищи в MSDN
M><webServices> Element
Имеется в виду wsdlHelpGenerator ? Таки может кто подскажет как оный генератор писать? Потому что, даже при указании такой ссылки в web.config, все равно демонстрируется автоматический wsdl.
...
Рейтинг: 0 / 0
10.10.2006, 15:34
    #34044771
Кэр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Здравствуйте, CyberRussia, Вы писали:

CR>Приветствую, есть веб-сервис, написанный на asp.net C#, как наследник класса System.Web.Services.WebService. Работает, проблем нет. Но, надо чтобы wsdl запращиваемый потенциальным клиентом генерился не автоматически, а выдавался некий вручную заданный. Соответствующий wsdl документ уже есть. Вопрос: как к существующему веб-сервису подключить статический wsdl документ?

Гм, а зачем вам столько странного? Если существующий сервис уже отдает нужный wsdl файл и вы хотите гарантировать, что и дальше так будет происходить — напишите unit-тест, который будет это проверять. Зачем лишние проблемы себе создавать?
...
Рейтинг: 0 / 0
10.10.2006, 15:56
    #34044859
CyberRussia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Здравствуйте, Кэр, Вы писали:
Кэр>Гм, а зачем вам столько странного? Если существующий сервис уже отдает нужный wsdl файл и вы хотите гарантировать, что и дальше так будет происходить — напишите unit-тест, который будет это проверять. Зачем лишние проблемы себе создавать?
В том и дело что существующий веб-сервис отдает НЕНУЖНЫЙ wsdl файл. Дело в том, что почти все медоты в сервисе получают и/или отдают некоторую сложную структуру. В ряде случаев мне проше сгенерировать соответствующий xml вместо структуры, поэтому методы описанны примерно так: public XmlNode GetListCategories(...){...} но мне надо чтобы в wsdl документе было отображено, что метод возвращает не XmlNode а определенную структуру.
...
Рейтинг: 0 / 0
10.10.2006, 16:17
    #34044928
mclabman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Ну дык так и писать
public НужнаяСтруктура GetListCategories(...){...}
и добавить XmlIncludeAttribute
Наследовать, если нужно.
...
Рейтинг: 0 / 0
10.10.2006, 16:58
    #34045036
CyberRussia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Здравствуйте, mclabman, Вы писали:

M>Ну дык так и писать
M>public НужнаяСтруктура GetListCategories(...){...}
M>и добавить XmlIncludeAttribute
M>Наследовать, если нужно.


public struct ListCat{...}
[XmlInclude(typeof(XmlNode))]
public ListCat GetListCategories(...){...}
Даже не скомпилиться.
...
Рейтинг: 0 / 0
10.10.2006, 17:00
    #34045044
CyberRussia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Здравствуйте, mclabman, Вы писали:

M>Ну дык так и писать
M>public НужнаяСтруктура GetListCategories(...){...}
M>и добавить XmlIncludeAttribute
M>Наследовать, если нужно.


public struct ListCat{...}
[XmlInclude(typeof(XmlNode))]
public ListCat GetListCategories(...)
{
...
XmlDocument doc = new XmlDocument();
...
return doc;
}
Даже не скомпилиться.
...
Рейтинг: 0 / 0
11.10.2006, 13:52
    #34047250
mclabman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService
{
    public Service ()
    {    }
    [WebMethod]
    [XmlInclude(typeof(BlondyWorld))]
    public World HelloWorld()
    {
        return(new BlondyWorld());
    }
}
public class World
{
    private int size;
    public int Size
    {
        get { return this.size; }
        set { this.size = value; }
    }
}
public class DumbWorld : World
{
    private string myName;
    public string MyName
    {
        get { return "Dumb"; }
        set { this.myName = value; }
    }
}
public class BlondyWorld : DumbWorld
{
    private Int64 preferedSize;
    public Int64 PreferedSize
    {
        get { return Int64.MaxValue; }
        set { this.preferedSize = value; }
    }
}
...
Рейтинг: 0 / 0
11.10.2006, 16:15
    #34047953
CyberRussia
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Web-service WSDL
Здравствуйте, mclabman,
И все бы хорошо если бы не "НО". Фактически возвращаемый объект — XmlNode. По документу — структура. И как вы предлагаете использовать XmlInclude? Относледоваться от XmlNode и добавить как свойства нужную структуру. И что? В авто wsdl будет по прежнему XmlNode. На стороне клиента заполнять структуру придется вручную, потому что в веб-сервисе будет заполняться только XmlNode часть.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Web-service WSDL / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]