【问题标题】:WCF C# webservice to accept file in XML AttributeWCF C# webservice 接受 XML 属性中的文件
【发布时间】:2018-06-06 13:49:28
【问题描述】:

我正在尝试使用 WCF 接收 SOAP post 信号,该信号附加了文件并在 XML 属性中声明:

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

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

FormatException on the ':' character.

发件人不愿意进行任何更改。我曾尝试在网络上进行扩展搜索,但我似乎无法在 C# WCF 中找到接受这一点的方法。

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

感谢收看!

【问题讨论】:

    标签: c# .net wcf soap attachment


    【解决方案1】:

    您可以尝试手动解析请求,它似乎是一个有效的 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);
            }
        }
    }
    

    【讨论】:

    • 感谢您的帮助!我现在可以真正进入这个方法了!太棒了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 2010-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多