我正在尝试使用WCF接收SOAP post信号,该文件附加了文件并在XML属性中声明:
<ATTACHMENTS>
<ATTACHMENT href="cid:338131408997"/>
</ATTACHMENTS>
我应该如何在WCF中捕获此类请求?我尝试过使用XmlSerializerFormat并且能够制作相同的格式,但最终得到了
FormatException on the ':' character.
发件人不愿意进行任何更改。我试过搜索web extensivley,但我似乎无法在C#WCF中找到接受它的方法。
有谁知道如何使用WCF .NET框架接受这类消息?如果可能的话,我想接受这些而不设置另一个API。
感谢您的期待!
答案 0 :(得分:0)
您可以尝试手动解析请求,它似乎是一个有效的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);
}
}
}