Сегодня я нашел ваш вопрос, пытаясь понять, как добавить вложение в сообщение 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"/>
В целом этоэто то, что я хотел найти.