powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сгенерировать proxy-классы для WebService
25 сообщений из 26, страница 1 из 2
Как сгенерировать proxy-классы для WebService
    #38925230
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно вот сам сервис

http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0003419/wsdl

Выходит какая-то лажа.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925258
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросец,
Использовать Service References
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925261
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleronвопросец,
Использовать Service References

Ну попробуйте :). Я бы не спрашивал. Сервис на том конце явовский.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925265
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросецAxeleronвопросец,
Использовать Service References

Ну попробуйте :). Я бы не спрашивал. Сервис на том конце явовский.

для клиента должно быть пофиг на чем написан сервис.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925276
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhвопросецпропущено...


Ну попробуйте :). Я бы не спрашивал. Сервис на том конце явовский.

для клиента должно быть пофиг на чем написан сервис.

я знаю. попробуй это утверждение на практике. ссыль вверху.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925283
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросецAxeleronвопросец,
Использовать Service References

Ну попробуйте :). Я бы не спрашивал. Сервис на том конце явовский.
Хорошо, попробовал. WSDL сгенерировал криво. Просите другую сторону сгенерить корректный WSDL.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925285
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WSDL сгенерирова н криво.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925289
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925298
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще возможно каких-то xsd'шек не хватает.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925396
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925532
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Косяк тут:

Код: xml
1.
2.
<xsd:schema targetNamespace="http://mks.esia.rstyle.ru/">
      <xsd:import namespace="http://mks.esia.rstyle.ru/" schemaLocation="http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0003419/1.00/wsdl/ISIA01/5152a973-ba68-4365-a3f6-5d6d2f595598" />

Эти два неймспейса не могут быть одинаковыми. Одинаковыми должны быть import namespace и targetNamespace в той схеме, на которую ссылается import.
А она содержит опять таки targetNamespace=" http://mks.esia.rstyle.ru/".
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925630
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКосяк тут:

Код: xml
1.
2.
<xsd:schema targetNamespace="http://mks.esia.rstyle.ru/">
      <xsd:import namespace="http://mks.esia.rstyle.ru/" schemaLocation="http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0003419/1.00/wsdl/ISIA01/5152a973-ba68-4365-a3f6-5d6d2f595598" />

Эти два неймспейса не могут быть одинаковыми. Одинаковыми должны быть import namespace и targetNamespace в той схеме, на которую ссылается import.
А она содержит опять таки targetNamespace=" http://mks.esia.rstyle.ru/".

спасибо большое. как же быть? скачать все локально на диск? и руками выпрямить ссылки и namespace'ы?

Ради эксперимента попытался сгенерировать клиента по WSDL используя те java-кишки что в NetBeans. Чтобы понять насколько они понимают друг-друга. Полюбуйтесь:

Код: sql
1.
2.
3.
4.
5.
parsing WSDL...


[WARNING] src-import.1.1: The namespace attribute 'http://mks.esia.rstyle.ru/' of an <import> element information item must not be the same as the targetNamespace of the schema it exists in.
  line 5 of file:/home/bullshet/NetBeansProjects/WebApplication1/src/conf/xml-resources/web-service-references/wsdl/wsdl/smev-mvf.test.gosuslugi.ru_7777/gateway/services/sid0003419/wsdl.wsdl#types?schema1



И надо сказать, то что сгенерилось настолько далеко от того что хоть как-то удалось сгенерить используя svcutil (правда из SOAP-пакета не десериализуется результат нормально, увы)...
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925634
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
могу сказать, что мы к этому рукожопому сервису уже почти написали клиента (оно еще и требует basicHttpBinding + Message Signing (алгоритмом ГОСТ))... туда удается все отправить и нашу подпись там понимают. И мы их подпись понимаем. Но на этапе десериализации, не все десериализуется, я бы сказал почти ничего. Снифером SOAP-разглядываем - видно что сервер нас понял... И тут вопрос толи пилить все на Message контрактах и XPath запросами выдергивать оттуда нужное толи хз уже...
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925635
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ https://msdn.microsoft.com/en-us/library/ms734711(v=vs.110).aspx

спасибо конечно, но мне кажется сформировать SOAPВ исходящий и распарсить входящий будет проще чем играть в это...
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925666
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросец,
У вас четко Wsdl кривой, требуйте у серверной стороны учиться создавать коректный Wsdl - в наши дни это дается почему-то только единицам.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925681
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleronвопросец,
У вас четко Wsdl кривой, требуйте у серверной стороны учиться создавать коректный Wsdl - в наши дни это дается почему-то только единицам.

Писали уже в техподдержку. Еще вчера. Они написали:

> Что значит где взять нормальный WSDL? Вот вам ссылка на wsdl...

А еще выдали перл:
> Техподдержка не отвечает на вопросы, касающиеся разработки ПО под конкретные платформы...

Так эту же ссылку мы и использовали. Жэесть. netbeans как-то пережевал это дерьмо. Посоздавал классы... В том числе содержащие Java классы Map<key, value>, List<Object>... У их там "гибкая структура" по всей видимости. Потому как то что получалось у нас начекрыжить с помощью svcutil ДЛЯ C# содержало в том месте XmlElement[]...
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925684
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глядел как выживают те кто на PHP пилит интеграцию со СМЭВ - тока хардкор ручками Request/Response формируют полностью и отправляют POST.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925689
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsdl однозначно кривой, даже soaptest не прошёл http://soapclient.com/soaptest.html
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925696
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросец,
Их техподдержка неквалифицирована. Wsdl создается на основе XML и никакого отношения к платформе Java не имеет. Но зато все ясно. Увы, сейчас на моем проекте такие же идиоты работают. Наша команда уже анекдоты про них слагает, но прокси классы до сих пор ручками и методом тыка правим.
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925698
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУwsdl однозначно кривой, даже soaptest не прошёл http://soapclient.com/soaptest.html

не могли бы поцепить картинку? почему то когда жму на кнопку проверить - выкидует сообщение page not found...
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925720
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyКосяк тут:

Код: xml
1.
2.
<xsd:schema targetNamespace="http://mks.esia.rstyle.ru/">
      <xsd:import namespace="http://mks.esia.rstyle.ru/" schemaLocation="http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0003419/1.00/wsdl/ISIA01/5152a973-ba68-4365-a3f6-5d6d2f595598" />

Эти два неймспейса не могут быть одинаковыми. Одинаковыми должны быть import namespace и targetNamespace в той схеме, на которую ссылается import.
А она содержит опять таки targetNamespace=" http://mks.esia.rstyle.ru/".


сохранил wsdl и заменил указанный import на include, netbeans перестал ругаться. и молча съел схему сгенерив классы


Код: xml
1.
            <xsd:include schemaLocation="http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0003419/1.00/wsdl/ISIA01/5152a973-ba68-4365-a3f6-5d6d2f595598" />



скормил netbeans локальный файл. он теперь уже не ругнувшись сгенерил файлы. попробую "студию" покормить...
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925732
вопросец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросец,

слил я все схемы в кучу и вот таким вот способом получил out.cs что в приложении

Код: sql
1.
svcutil *.xml /out:out.cs



Собственно при получении ответа от гавнасервиса видно снифером, что в appdata всяко-разные узлы. При десериализации я их увы не вижу... Вангую сериализатор заблудился в неймспейсах xml...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
public partial class AppDataType
{
    
    private System.Xml.XmlElement[] anyField;
    
    private System.Xml.XmlAttribute[] anyAttrField;
    
    /// <remarks/>
    [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
    public System.Xml.XmlElement[] Any
    {
        get
        {
            return this.anyField;
        }
        set
        {
            this.anyField = value;
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlAnyAttributeAttribute()]
    public System.Xml.XmlAttribute[] AnyAttr
    {
        get
        {
            return this.anyAttrField;
        }
        set
        {
            this.anyAttrField = value;
        }
    }
}
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925741
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросец,
Не вангую - надо срочно менять разгромиздов на той стороне...
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #38925766
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопросецМСУwsdl однозначно кривой, даже soaptest не прошёл http://soapclient.com/soaptest.html

не могли бы поцепить картинку? почему то когда жму на кнопку проверить - выкидует сообщение page not found...
А какую картинку нужно? Тест валится и выдает Page Not Found - вот и вся картинка
...
Рейтинг: 0 / 0
Как сгенерировать proxy-классы для WebService
    #39038385
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Axeleron,


вопросецвопросец,

слил я все схемы в кучу и вот таким вот способом получил out.cs что в приложении

Код: sql
1.
svcutil *.xml /out:out.cs



Собственно при получении ответа от гавнасервиса видно снифером, что в appdata всяко-разные узлы. При десериализации я их увы не вижу... Вангую сериализатор заблудился в неймспейсах xml...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
public partial class AppDataType
{
    
    private System.Xml.XmlElement[] anyField;
    
    private System.Xml.XmlAttribute[] anyAttrField;
    
    /// <remarks/>
    [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
    public System.Xml.XmlElement[] Any
    {
        get
        {
            return this.anyField;
        }
        set
        {
            this.anyField = value;
        }
    }
    
    /// <remarks/>
    [System.Xml.Serialization.XmlAnyAttributeAttribute()]
    public System.Xml.XmlAttribute[] AnyAttr
    {
        get
        {
            return this.anyAttrField;
        }
        set
        {
            this.anyAttrField = value;
        }
    }
}



Насколько я помню такая фигня генерится, если метод принимает XML. Т.е. идет набор XML тэгов и набор XML атрибутов.

Замените это

Код: c#
1.
2.
    private System.Xml.XmlElement[] anyField;    
    private System.Xml.XmlAttribute[] anyAttrField;



на это
Код: c#
1.
2.
    private XmlDocument anyField;    
//    private System.Xml.XmlAttribute[] anyAttrField;



и соответствующе поправьте пропертю (оставьте только одну, но тип XmlDocument).

не помню - нужно ли оставлять имя именно "anyField". Изучите код который предназначен для сериализатор, возможно там указано как должно называтся это свойство.

Что то типа:
Код: c#
1.
[System.Xml.Serialization.XmlElementAttribute("Name1", typeof(что-то))]



тогда вместо "anyField" пропертю назовите "Name1".
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сгенерировать proxy-классы для WebService
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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