■
こんなところをチェックされている奇特な皆様
今年もよろしくおながいします。
昨日、最近法律ネタが多すぎるとクレーム(wがあったので、少し揺り戻しますかね。最近はasp.net 2.0のSOAPとかindigoとか、技術的に退屈な仕事ばかりなので、書くことが無いのよね…
あ、あったぞ。
ASP.NET 2.0のBasic Profile 1.1違反を直す方法
ASP.NET 2.0のSOAPサービスは、特に?WSDLパラメータを付けたリクエストで返されるWSDLファイルを見ると分かりやすいのだけど、Basic Profile 1.1のR2401に違反している。
R2401 : A wsdl:binding element in a DESCRIPTION MUST use WSDL SOAP Binding as defined in WSDL 1.1 Section 3.
この定義にもかかわらず、HTTP GETとHTTP POSTを受け付けてしまうためである。
というわけで、サポートしているプロトコルからSOAP以外の全てを削除しなければならない。
ちなみに、.NET 2.0のSystem.Web.Services.Description.WebServicesInteroperabilityにはバグがあって、これをちゃんと検出しないので、wsdl.exeを信用してはならない。他のツールを使用すれば良い。