2011-12-16 20 views
0

データ型としてbyte []を使用するだけで、アプリケーションから暗号化されたデータをWCFサービスに送信しています。しかし、例ごく一部で、私は、エラーのこれらの種類を参照してください。多くのヘッドが傷後暗号化されたデータをWCFサービスに送信するにはどうすればよいですか?

The surrogate pair (0xD8CC, 0xAF1F) is invalid. A high surrogate character (0xD800 – 0xDBFF) must always be paired with a low surrogate character (0xDC00 – 0xDFFF)

The surrogate pair (0xD8AC, 0xE332) is invalid. A high surrogate character (0xD800 - 0xDBFF) must always be paired with a low surrogate characters (0xDC00-0xDFFF).

The surrogate pair (0xD8CC, 0xAAE9) is invalid. A high surrogate character (0xD800 - 0xDBFF) must always be paired with a low surrogate characters (0xDC00-0xDFFF).

Invalid high surrogate character (OxDF44). A high surrogate character must have a value from range(OxD800 - OxDBFF)

を、私はこれが結果疑ったときにWCFのXMLを扱うことができないバイトのシーケンスでの暗号化の結果。暗号化されたデータをWCF経由で送信する方がいいですか?助けて!

いずれかの方向にエラーが発生している可能性があります。 .svcで私が持っているものは次のとおりです。

public byte[] GetEncryptedResult(byte[] encryptedRequest) 
{ 
    return .... 
} 

もう1つの可能性は、WCFではなく、データを暗号化したときです。データはXMLに入れられ、暗号化され、WCF経由で送信され、XMLに復号化されます。

DataContractSerializerを使用できますか?他に何か?

+0

詳細をご覧ください。 –

+0

私ははるかに詳細を持っていません。おそらく暗号化された要求のサイズは<1KB未満です。 – tofutim

+0

サービスの定義を表示します。あなたはそれをどう呼んでいるかを示してください。単に 'Message'例外の代わりに実際の例外(スタックトレースを含む)を表示してください。 –

答えて

1

我々は通常、ワイヤ全体に送信する前にbase64文字列に、当社の暗号化されたバイトデータを変換します。

0

バイトをシンボルに変換しようとしている可能性があります。暗号化のために、XMLプロセッサでは処理できない奇妙なシンボルが発生します。私は深さにWCFに慣れていないんだけど、私は文字列にこの方法を変換バイトをお勧めすることができます:

{a0, 23, cd, 5e, ff} => "a023cd5eff" 
関連する問題