0

ASP.net MVC で Web サービスを呼び出すときに問題が発生しました。次のようにします。

ソリューションにサービス参照を追加してWebサービスを追加し、service.csファイルもソリューションに含めますが、ホームコントローラーでオブジェクトを作成しようとすると、次のエラーが発生します

ServiceModel クライアント構成セクションで、コントラクト 'Service' を参照する既定のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、このコントラクトに一致するエンドポイント要素がクライアント要素に見つからなかったためである可能性があります。

誰でも私を助けてください

ありがとう

4

1 に答える 1

1

ここでいくつかのことが起こっています。まず、SVCUTIL を使用して、WCF 以外のサービスのプロキシと構成設定を生成しています。.asmx はレガシーです。プロキシと構成設定を生成できましたが、発生したエラーを克服するには、オーバーロードされたバージョンのWeatherHttpClient.

100%確かではありませんが、これは私が観察したことに基づいて私が考えるものです。

その理由は、構成ファイルに 2 つのエンドポイント (SOAP 1.1 用と SOAP 1.2 用) が定義されており、両方のエンドポイントに名前が付けられているため、選択できるデフォルトのエンドポイントがないためです。

私が使用したときvar x = new WeatherHttpClient(new BasicHttpBinding("WeatherSoap"), new EndpointAddress("http://wsf.cdyne.com/WeatherWS/Weather.asmx"));、プロキシを問題なく作成できました。

しかし、電話GetCityForecastByZipをかけたところ、次のエラーが発生しました。

Server did not recognize the value of HTTP Header SOAPAction: http://ws.cdyne.com/WeatherWS/WeatherHttpGet/GetCityForecastByZIPRequest.

そこで、WSDL.exe を使用して .ASMX スタイルのプロキシを生成しました。それをプロジェクトに含めたところ、次のコードが結果を返しました (への参照を含めた後System.Web.Services、コンソール アプリを使用していました)。

var x = new Weather();

ForecastReturn result = x.GetCityForecastByZip("91504");`

簡単にするために、WSDL.exe を使用してサービスのプロキシを生成することをお勧めします。

また、MVC をほとんど行っていないことも付け加えておきますが、これは MVC の問題ではないと思います。これがお役に立てば幸いです。

于 2013-04-24T19:16:22.730 に答える