0

WCF サービスに外部 WSDL ファイルを使用しています。

<wsdl:service n<wsdl:service name="CommonService">
    <wsdl:port name="BasicHttpBinding_ICommonService" binding="tns:BasicHttpBinding_ICommonService">
      <soap:address location="http://localhost:1371/CommonService.wsdl"/>
    </wsdl:port>
</wsdl:service>

このサービスへのサービス参照を追加すると、クライアントでメソッドが許可されていないというエラーが表示されます。

しかし、上記のコードを WSDL ファイルから削除してこれに置き換えると、正常に動作します。どうしたの。誰でもこの背後にある理由を特定できますか。

<wsdl:service name="CommonService">
    <wsdl:port name="BasicHttpBinding_ICommonService" binding="tns:BasicHttpBinding_ICommonService">
      <soap:address location="http://localhost:1371/Service.svc"/>
    </wsdl:port>
</wsdl:service>
4

1 に答える 1

3

IIS で .wsdl 拡張子のハンドラーを公開していないのは事実だと思います。または、その拡張子をマップする方法がありません。通常、WCF サービスの wsdl は にあります.svc?wsdl

当たり前のことを言って申し訳ありませんが、理由は次の場所から場所を変更しているようです。

http://localhost:1371/CommonService.wsdl

これに:

http://localhost:1371/Service.svc

于 2012-07-13T09:44:20.273 に答える