powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / SoapExtension
1 сообщений из 1, страница 1 из 1
SoapExtension
    #34024186
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь разобраться с WebService и в частности с SoapExtension. Нашел пример, фрагмент которого привожу ниже:

    public override void ProcessMessage(SoapMessage message)
    {
        switch (message.Stage)
        {

            case SoapMessageStage.BeforeSerialize:
                SetStream(message);
                break;
.....



    public void SetStream(SoapMessage message)
    {
        oldStream = message.Stream;
        newStream = new MemoryStream();
        message.Stream = newStream;
    }
Однако, в классе SoapMessage свойство Stream read-only. Соответственно возникает вопрос как создать новый поток в message?

И еще один вопрос, с которого собственно все и началось. Написан некоторый веб-сервисе как класс унаследованный от System.Web.Services.WebService. В веб-сервисе несколько методов, которые работают и все хорошо. Но! Нужен в этом же веб-сервисе еще один метод, который будет возвращать данные в виде некоторой структуры. Примерно вот так:

public struct Catalog
{
    public int ID;
    public string Name;
}
public struct CatalogResult
{
    public int Result;
    public Catalog[] CatalogList;
}


public class WebService : System.Web.Services.WebService {
    public CatalogResult GetCatalog(Catalog temp)
    {
    ...
    }
Проблема в том, что внутри метода получить необходимый результат сразу в виде переменной типа string, содержащей xml соответствующего этой структуре легче (

"<Result>1</Result><CatalogList><Catalog><ID>0</ID><Name>Name 0</Name></Catalog><Catalog><ID>1</ID><Name>Name 1</Name></Catalog></CatalogList>"
), чем получить данные в виде самой структуры. Соответственно хотелось бы эту строку сразу отдать на выход. Но если подменить выходные данные на string, то угловые скобки xml пропадут при сериализации и результирующий xml будет некорректным. Если подменить на XmlNode то ему требуется корневой тэг, который окажется "лишнем" в конечном ответе метода веб-сервиса и следовательно результирующий xml, тоже будет некорректным. Может подскажите как решить такую проблемы.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / SoapExtension
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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