相关疑难解决方法(0)

WCF WebInvoke 可以接受内容类型:text/plain?

我正在编写 WCF REST 服务以通过我的 WCF REST 服务接收 AWS SNS 通知消息。

Content-Type: text/plain; charset=UTF-8然而,WCF REST 仅支持 XML 和 JSON,但根据Amazon 文档,由于遗留原因,Amazon SNS 使用标头发布通知:

POST / HTTP/1.1
Content-Type: text/plain; charset=UTF-8
// ...

{
  "Type" : "Notification",
  // ...
  "UnsubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&..."
}
Run Code Online (Sandbox Code Playgroud)

当我使用亚马逊等“文本/纯文本”内容类型调用我的服务时,出现错误:

请求错误。

服务器在处理请求时遇到错误。异常消息是“传入消息具有意外的消息格式‘Raw’”。该操作的预期消息格式为“Xml”;“杰森”。这可能是因为尚未在绑定上配置 WebContentTypeMapper。有关更多详细信息,请参阅 WebContentTypeMapper 的文档。有关更多详细信息,请参阅服务器日志。

我当前的代码:

public interface MyServiceInterface
{
    [OperationContract]
    [WebInvoke(Method = "POST", UriTemplate = "/AmazonIPChanges")]
    Task AmazonIPChanges(SNSNotificationMessage data);
}

[DataContract]
public class SNSNotificationMessage
{
    [DataMember]
    public string Type { get; set; }
    // ...
    [DataMember] …
Run Code Online (Sandbox Code Playgroud)

c# wcf amazon-web-services amazon-sns

5
推荐指数
1
解决办法
4562
查看次数

标签 统计

amazon-sns ×1

amazon-web-services ×1

c# ×1

wcf ×1