完全に機能するasmxWebServiceがありますが、ブラウザーで参照すると空白のページが返されます。
ファイルを参照するとsearch.asmx
、サービスを呼び出すことができるテストフォームでサービスの通常のhtml形式の説明が表示されません。私が得るのは完全に空白のページだけです。(ソースの表示は何も返しません)。
これは、ローカルホスト(casini)とサーバー(IIS 7.5)の両方で発生します。
これをオンにする方法はありますか?
私のweb.configは次のようになります。
...
<system.web>
<httpRuntime requestValidationMode="2.0" enableKernelOutputCache="false"/>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
...
私のサービスは次のようになります。
...
[WebService(Namespace = "http://mydomain.edu/something")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public class SearchService : System.Web.Services.WebService {
public SearchService() {
}
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public SearchResponse Search(SearchFilter filter)
{
...
アップデート:
wsdlに移動するとsearch.asmx?wsdl
、エラーが発生します。
System.InvalidOperationException:メソッド検索を反映できません。---> System.InvalidOperationException:「SearchResult」を反映するエラーがありました。---> System.InvalidOperationException:タイプ'SearchResponse'を反映するエラーがありました。---> System.InvalidOperationException:プロパティ'属性'を反映するエラーがありました。---> System.InvalidOperationException:タイプ'USpaceDataAttributes'を反映するエラーがありました。---> System.NotSupportedException:タイプSystem.Collections.Generic.Dictionary`2 [[System.String、mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089]、[SimpleTypeDataのメンバーUSpaceDataAttributes.attributesをシリアル化できません、Entities、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null]]、IDictionaryを実装しているため。
空白のページが表示されるのはこのためだと確信しています。