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);
}
}
}
我正在尝试接收带有 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);
}
}
}