ASP.NET Webサービスの隠し仕様:制御文字を含んだ文字列は(エンコードされていても)パースエラーになる
ASP.NET 3.5で引っかかったまさかの障害。
ローカルネットワーク向けのSOAP Webサービスへのアクセスがなぜか400 Bad Requestで失敗するという障害が起きていました。クライアント側も.NET FrameworkのWeb参照クライアントライブラリなので、SOAPリクエストが形式異常なんてことはないはず。その後のリトライもすべて失敗しているので偶発的な誤動作というものでもなさそう。
一体何が起こった?
答はタイトルの通り、SOAPリクエストの引数として文字列に制御文字が含まれていたことでした。
それも、クライアントライブラリ側はきっちりエンコード(実体参照化)してくれていたにもかかわらず、それが制御コードであればサーバ側は400 Bad Requestを返すのでした。
フレームワークのバグっぽい動きですねこれは。
Author And Source
この問題について(ASP.NET Webサービスの隠し仕様:制御文字を含んだ文字列は(エンコードされていても)パースエラーになる), 我々は、より多くの情報をここで見つけました https://qiita.com/yuba/items/0902eef407eb55fa51ff著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .