[WCF] Передача строк в UTF-8
От: Agent Smith Россия  
Дата: 08.10.10 08:03
Оценка:
Добрый день!

Имеется WCF-клиент, используется SOAP и basicHttpBinding. Сервисом является программа на C++, работающая под Linux. Та часть сервиса, которая отвечает за взаимодействие с .net-клиентом генерируется при помощи gSOAP по согласованной обеими сторонами WSDL.
Linux-сервис требует, чтобы строки, которые к нему приходят от .net-клиента были в кодировке UTF-8, а не в UTF-16, которая по-умолчанию в .net.

Пробовал решить проблему с использованием события десериализации:

[DataMember]
public string Value { get; set; }

...

[OnSerializing]
private void OnSerializing(StreamingContext context)
{
    var utf8 = new UTF8Encoding();

    if (!string.IsNullOrEmpty(Value))
    {
        var encodedBytes = utf8.GetBytes(Value);
        Value = utf8.GetString(encodedBytes);
    }
}


Но на сервис по прежнему не приходит UTF-8. Есть идеи как решить эту проблему?
Never argue with a woman who reads. It's likely she can also think. (c)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.