WCF C# webservice 接受 XML 属性中的文件

WCF C# webservice to accept file in XML Attribute

我正在尝试接收带有 WCF 的 SOAP post 信号,该信号附加了文件并在 XML 属性中声明如下:

<ATTACHMENTS>
  <ATTACHMENT href="cid:338131408997"/>
</ATTACHMENTS>

我应该如何在 WCF 中捕获此类请求?我已经尝试使用 XmlSerializerFormat 并且能够制作相同的格式但最终得到

FormatException on the ':' character.

发件人不愿做任何更改。我已经尝试搜索 web extensivley,但我似乎无法找到在 C# WCF 中接受它的方法。

有谁知道如何使用 WCF .NET 框架接受这类消息?如果可能的话,我想接受这些而不设置另一个 API。

感谢观看!

您可以尝试手动解析请求,它似乎是有效的XML。

[ServiceContract]
public interface IContract
{
    [OperationContract, WebInvoke(UriTemplate = "UploadAttachments")]
    void UploadAttachments(Stream messageContent);
}
public class Service : IContract
{
    public void UploadAttachments(Stream messageContent)
    {
        var xml = XElement.Load(messageContent);
        var hrefs = xml
            .Elements("ATTACHMENT")
            .Select(attachmentElement => attachmentElement.Attribute("href").Value);
        foreach (var href in hrefs)
        {
            Console.WriteLine(href);
        }
    }
}