2011-06-30 15 views
2

.pdfまたは.docファイルから抽出された生のテキストを分析する簡単なWCFサービスがあります。アップロードされた文字列の特殊文字を送信するときにWCFエラーが発生する

99%はOKですが、いくつかのケースでは、サーバーは、リモートサーバーが予期しない応答を返し不正な要求例外

発生します:(400)不正な要求を。

問題のテキストを調べた後、問題はフォームフィード文字(ascii/unicode#12)に関連していることがわかりました。

簡単な解決策は、文字列をアップロードする前にこれらの文字を削除することですが、私のケースでは、WCFサービスを使用するすべてのクライアントを制御することはできません。

したがって、この特殊文字(および同じ例外を引き起こすかもしれない他の文字)をアップロードできるサーバー側の選択肢はありますか?

+1

バイナリに行き、代わりに 'byte []'を使用できませんか? –

答えて

2

基本またはwshttpバインディングを使用している場合、その種の文字列を渡す安全な方法は、クライアント側とサーバー側の両方でbase64エンコーディングを使用することです。あなたの場合、私はバイト[]を使用することをお勧めします。これは、用語ではbase64文字列にシリアル化されます。

残念ながら、私が知っているサーバー側では、悪い要求を処理する方法はありません。

+0

場所全体にバイト配列を使用するか、特殊文字を含む可能性のある文字列にのみ使用する必要がありますか? –

+0

ちょうど特別な文字列のために使用する必要があります。 –

関連する問題