С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2

Получение MTOM вложения из SOAP ответа

15.05.2022, 14:59. Показов 3387. Ответов 1

Студворк — интернет-сервис помощи студентам
Всем привет. Есть такой ответ от сервера:
XML
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
--uuid:8b60f7ca-9d88-4244-bc86-6a47d5b4f58d
Content-Id: <rootpart*8b60f7ca-9d88-4244-bc86-6a47d5b4f58d@example.jaxws.sun.com>
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
Content-Transfer-Encoding: binary
 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns2:GetRequestResponse xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.1" xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1" xmlns:ns3="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/faults/1.1">
            <ns2:RequestMessage>
                <ns2:AttachmentContentList xmlns:ns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1" xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.1" xmlns:att="urn://x-artifacts-fssp-ru/mvv/smev3/attachments/1.1.0" xmlns:c="urn://x-artifacts-fssp-ru/mvv/smev3/container/1.1.0" xmlns:fssp="urn://x-artifacts-fssp-ru/mvv/smev3/application-documents/1.1.1" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
                    <ns2:AttachmentContent>
                        <ns2:Id>piev_9d6c1ec0-cadb-11ec-ba92-525400f6b334.zip</ns2:Id>
                        <ns2:Content>
                            <xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:piev_9d6c1ec0-cadb-11ec-ba92-525400f6b334.zip"/>
                        </ns2:Content>
                    </ns2:AttachmentContent>
                </ns2:AttachmentContentList>
            </ns2:RequestMessage>
        </ns2:GetRequestResponse>
    </soap:Body>
</soap:Envelope>
--uuid:8b60f7ca-9d88-4244-bc86-6a47d5b4f58d
Content-Id: <piev_9d6c1ec0-cadb-11ec-ba92-525400f6b334.zip>
Content-Type: application/zip
Content-Transfer-Encoding: binary
 
набор байт вложения
--uuid:8b60f7ca-9d88-4244-bc86-6a47d5b4f58d--
Подскажите пожалуйста, как правильно получить файл вложения из ответа. Насколько я понимаю, это MTOM. Но при попытке выполнить XmlDictionaryReader.CreateMtomReader. Происходит исключение о неверно сформированных заголовках.
Надеюсь на помощь!
Заранее спасибо!
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2022, 14:59
Ответы с готовыми решениями:

Извлечение вложения из ответа сервера SOAP
Приветствую, может кто-то поможет мне в решении вопроса. запрашиваю файл из сервиса вот таким образом Приветствую, может кто-то...

soap клиент получение вложения
есть soap клиент на php. вызываю функцию, результатом которой является файл html $file = $client-&gt;GetFile($params) нужно этот файл...

WSDL. Отправка SOAP с MTOM
Добрый день! Есть ли у кого пример сформированного сообщения с MTOM?

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2022, 14:59
Помогаю со студенческими работами здесь

Обработка ответа на SOAP-запрос
Сейчас разбираюсь с SOAP, разобрался как посылать эти запросы, а что делать с ответами ума не приложу, приходит в ответ портянка: ...

Как использовать параметры из SOAP-ответа
Привет, может кто подсказать, дать инфу по данному вопросу или ссылку где почитать? Есть прога на джаве, отправляет соап запрос и получаю...

Нет ответа от WSDL SOAP.? Ошибка 500 Error я в этом новичек
Нет ответа от WSDL SOAP.? Ошибка 500 Error, я в этом новичок $wsdl_url='api.vtt.ru:8048/Portal.svc?singleWsdl'; //ссылка для обращения...

Получение вложения из таблицы БД Access
Доброго дня всем! Не могу подтянуть на форму картинку из БД Access... Накопал на просторах сети (встречал на многих форумах в различных...

Получение вложения из записи и вывод его на страницу
Здравствуйте! Получаю вложение из записи. Как видно - там видео. Дальше хочу вывести это видео на страницу. =&gt; Array ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
 Аватар для Toros1992
899 / 554 / 275
Регистрация: 26.11.2015
Сообщений: 1,758
Записей в блоге: 2
15.05.2022, 14:59  [ТС]
Лучший ответ Сообщение было отмечено Элд Хасп как решение

Решение

Добавлено через 1 час 9 минут
Решение найдено.
Привожу код без лишней мишуры:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
HttpResponseMessage response = client.SendAsync(request).Result;
 
var content = new StreamContent(response.Content.ReadAsStreamAsync().Result);
 
//костыль для передачи multipart заголовка в объект StreamContent
content.Headers.Add("Content-Type", requestResponse.Content.Headers.ContentType.ToString());
 
MultipartMemoryStreamProvider multiPart = content.ReadAsMultipartAsync().Result;
 
//здесь работа с отдельными контентами. В моем случае первый будет xml сообщение, а последующие - файлы
for (int i = 0; i < multiPart.Contents.Count; i++)
{
    if (i == 0)
    {
        var firstPart = multiPart.Contents[i].ReadAsStringAsync().Result;
        File.WriteAllText("test.xml", firstPart);
    }
    else
    {
        var bytes = multiPart.Contents[i].ReadAsByteArrayAsync().Result;
        File.WriteAllBytes("test.zip", bytes);
    }
}
Добавлено через 1 минуту
Буду благодарен, если кто-нибудь укажет на более правильный способ
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru