Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сгенерировать proxy-классы для WebService / 25 сообщений из 26, страница 1 из 2
02.04.2015, 15:56
    #38925230
вопросец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать proxy-классы для WebService
Собственно вот сам сервис

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

не могли бы поцепить картинку? почему то когда жму на кнопку проверить - выкидует сообщение page not found...
...
Рейтинг: 0 / 0
02.04.2015, 22:57
    #38925720
вопросец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать proxy-классы для WebService
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
02.04.2015, 23:23
    #38925732
вопросец
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать proxy-классы для WebService
вопросец,

слил я все схемы в кучу и вот таким вот способом получил 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
02.04.2015, 23:55
    #38925741
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать proxy-классы для WebService
вопросец,
Не вангую - надо срочно менять разгромиздов на той стороне...
...
Рейтинг: 0 / 0
03.04.2015, 01:35
    #38925766
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать proxy-классы для WebService
вопросецМСУwsdl однозначно кривой, даже soaptest не прошёл http://soapclient.com/soaptest.html

не могли бы поцепить картинку? почему то когда жму на кнопку проверить - выкидует сообщение page not found...
А какую картинку нужно? Тест валится и выдает Page Not Found - вот и вся картинка
...
Рейтинг: 0 / 0
28.08.2015, 13:01
    #39038385
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сгенерировать proxy-классы для WebService
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
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как сгенерировать proxy-классы для WebService / 25 сообщений из 26, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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