Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

.Net - SOAP-прокси

1173  
Murr коренной житель01.07.08 14:22
Murr
NEW 01.07.08 14:22 
Делаю маленький SOAP-сервис используя Studio 2005.
При добавлении ссылки на этот сервис в клиентское приложение Студия строит
небольшой прокси для доступа к функциональности сервиса.
Сам сервис - в разработке, а потому этот прокси динамически перестраивается.
Все вроде ничего, не считая того, что билли опять кое-что не доработал...
Вот веб-метод как он описан в сервисе:
    [WebMethod]
public XmlDocument GetForms(EFormType aFormType, XmlDocument aParameter)
{
string param = aParameter.InnerText;
XmlDocument result = new XmlDocument();
XmlElement element = result.CreateElement("Form_001");
element.InnerText = "For complite: form type is " + param;
result.AppendChild(element);
return result;
}


На функциональную начинку можно не смотреть - это заглушка.
А вот сгенеренный прокси метод (один из)

        public System.Xml.XmlNode GetForms(EFormType aFormType, System.Xml.XmlNode aParameter) {
object[] results = this.Invoke("GetForms", new object[] {
aFormType,
aParameter});
return ((System.Xml.XmlNode)(results[0]));
}


Спрашивается - какого черта это мудрый билли поменял тип? Можно, конечно, поменять руками... но он ведь "мудрый" - перепишет при обновлении сервиса... а сервис в разработке...

#1 
NikolaiB посетитель18.07.08 23:18
NikolaiB
NEW 18.07.08 23:18 
в ответ Murr 01.07.08 14:22
не понимаю смысла - это же веб-сервис, передаваемые типы должны быть элементарными : string, int. Зачем передавать XmlDocument? Передавай XmlDocument.InnerText, всë равно ведь потом его же используешь. Да и чтоб трафик не грузить - сначала зазипуй
#2 
NeverMind коренной житель21.07.08 18:33
NeverMind
21.07.08 18:33 
в ответ NikolaiB 18.07.08 23:18
это же веб-сервис, передаваемые типы должны быть элементарными : string, int
Это почему еще? Для чего же тогд а WSDL?
#3 
Murr коренной житель08.08.08 13:32
Murr
NEW 08.08.08 13:32 
в ответ NikolaiB 18.07.08 23:18
не понимаю смысла - это же веб-сервис, передаваемые типы должны быть элементарными : string, int.
------
Ну давай попробуем.
Дано:
Граф с циклами и к вершинам графа присоеденены пользовательские узлы. Тип узлов - неизвестен, но они имплементируют заданные интерфейсы.
Требуется:
Предложить способ передачи графа сервису.
Ограничение:
Сложность и гибкостй должны быть не хуже чем при SOAP-сериализации
Зачем передавать XmlDocument? Передавай XmlDocument.InnerText, всë равно ведь потом его же используешь.
-----
??? - может быть где-то в глубине кода и используется. Но в том, что пишу Я - нет - у меня XSLT прямо по документу.
Да и чтоб трафик не грузить - сначала зазипуй
-----
??? - может проще сделать автозипуемое соединение? На моем модеме оно делается в один клик...
И это... трафик меня мало волнует - в любом случае счет на сотни мег...
#4