WCF бросить исключение - PullRequest
       1

WCF бросить исключение

0 голосов
/ 14 февраля 2011
 <s:Body>
<s:Fault>
  <s:Code>
    <s:Value>s:Sender</s:Value>
    <s:Subcode>
      <s:Value xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:DeserializationFailed</s:Value>
    </s:Subcode>
  </s:Code>
  <s:Reason>
    <s:Text xml:lang="en-US">The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://tempuri.org/:dataSet. The InnerException message was 'There was an error deserializing the object of type System.Data.DataSet. '��&lt;http://tempuri.org/ISplSynchronizationContracts/ApplyChangesD&#x1A;' contains invalid UTF8 bytes.'.  Please see InnerException for more details.</s:Text>
  </s:Reason>
  <s:Detail>
    <ExceptionDetail xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/System.ServiceModel">
      <HelpLink i:nil="true" />
      <InnerException>
        <HelpLink i:nil="true" />
        <InnerException>
          <HelpLink i:nil="true" />
          <InnerException>
            <HelpLink i:nil="true" />
            <InnerException i:nil="true" />
            <Message>Unable to translate bytes [82] at index 0 from specified code page to Unicode.</Message>
            <StackTrace>   at System.Text.DecoderExceptionFallbackBuffer.Throw(Byte[] bytesUnknown, Int32 index)
   at System.Text.DecoderExceptionFallbackBuffer.Fallback(Byte[] bytesUnknown, Int32 index)
   at System.Text.DecoderFallbackBuffer.InternalFallback(Byte[] bytes, Byte* pBytes, Char*&amp; chars)

Я использую пользовательское связывание в WCF и иногда получаю вышеуказанную ошибку. Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 14 февраля 2011

Исключение содержит текст: contains invalid UTF8 bytes

Сложно проверить на основе ограниченного контекста, но я бы предположил, что где-то на линии вы сериализуетесь в UTF-16 или какой-то другой формат, и при этом происходит сбой службы.

Убедитесь, что все сериализуемые объекты явно сериализуются с использованием UTF-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...