簡體   English   中英

WCF SOAP服務忽略內容類型字符集

[英]WCF SOAP Service Ignore Content-Type charset

我有一個新的WCF服務,一些現有的客戶端需要能夠與之通信。

有些客戶端錯誤地發送帶有'text / xml的Content-Type頭的SOAP請求; 字符集= US-ASCII”。 目前,客戶自己無法改變。

當他們發送請求時,他們會收到錯誤消息:

HTTP / 1.1 415無法處理消息,因為內容類型為'text / xml; charset = us-ascii'不是預期的類型'text / xml; 字符集= UTF-8'

有沒有辦法指示WCF服務忽略 Content-Type的字符集並假設utf-8?

這可能對你有所幫助,如果不是,我會刪除答案。 我認為這可以在你的上下文中使用,但我不太確定,因為沒有其他細節。

WebContentTypeMapper可用於覆蓋正在發送的內容類型。 這是剪輯了WCF示例集中使用的代碼。 在這個例子中,它接收發送的任何內容類型並將其映射到json,但您可以根據需要進行調整。

如果您還沒有它,可以從WCF示例下載示例此示例位於..WF_WCF_Samples \\ WCF \\ Extensibility \\ Ajax \\ WebContentTypeMapper \\ CS

using System.ServiceModel.Channels;

namespace Microsoft.Samples.WebContentTypeMapper
{
    public class JsonContentTypeMapper : System.ServiceModel.Channels.WebContentTypeMapper
    {
        public override WebContentFormat GetMessageFormatForContentType(string contentType)
        {
            if (contentType == "text/javascript")
            {
                return WebContentFormat.Json;
            }
            else
            {
                return WebContentFormat.Default;
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM