Замена класса XopDocument в .NET 4.0 - PullRequest
1 голос
/ 27 апреля 2011

С переходом на .NET 4.0 мы избавились от множества библиотек WSE, включая класс XopDocument .Какой класс рекомендуется заменить классом XopDocument, представляющим пакет XOP, являющийся частью сообщения SOAP в кодировке MTOM

1 Ответ

0 голосов
/ 21 февраля 2012

Сегодня я нашел ваш вопрос, пытаясь понять, как добавить вложение в сообщение SOAP.В моих требованиях у меня есть пример SOAP, где <inc:Include href="cid:SOMEXML" xmlns:inc="http://www.w3.org/2004/08/xop/include"/>, и я должен реализовать сервис, который может потреблять такие запросы.У меня нет опыта работы с WSE, поэтому мне интересно, для каких целей там использовался XopDocument.
Я решил свою проблему с помощью конфигураций WCF.Я устанавливаю messageEncoding="Mtom"

  <basicHttpBinding>
    <binding messageEncoding="Mtom" />
  </basicHttpBinding>

, и мой DataContract имеет свойство byte[].

[DataContract]
public class RootObject
{
    [DataMember]
    public byte[] SOMEXML { get; set; }
}

В запросе SOAP это выглядит как

<xop:Include href="cid:http%3A%2F%2Ftempuri.org%2F1%2F634654497430144369" xmlns:xop="http://www.w3.org/2004/08/xop/include"/>

В целом этоэто то, что я хотел найти.

...