異なるバインディングを持つ3つのエンドポイントを提供しようとしているWebサービスを作成しました。私はサービス参照を行うと 1. basicHttpBinding、 2. wsHttpBinding、 3. webHttpBindingWebHttpBindingがクライアントに届かない
は、私が作成したのみbasicHttpBindingとエンドポイントとwsHttpBindingバインディングを取得します。私はwebHttpBindingを取得しません。何が間違っているかもしれない。
次に、web.configのserviceModelノードの構造を示します。
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true"/>
</diagnostics>
<services>
<service behaviorConfiguration="VersionTolerance.Service1Behavior" name="BookShop.BookShopService">
<endpoint address="sadha" binding="basicHttpBinding" contract="BookShop.IBookShopService" />
<endpoint address="ws" binding="wsHttpBinding" contract="BookShop.IBookShopService" >
</endpoint>
<endpoint address="web" binding="webHttpBinding" behaviorConfiguration="webHttpBehavior"
contract="BookShop.IBookShopService" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:49654/" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="VersionTolerance.Service1Behavior">
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
ありがとう@marc_s、私はあなたの答えに同意したいと思います。しかし、私はそれにクライアントを作成してwebHttpBindingを体験したいと思います。 素人の言葉では、このサービスへのプロキシを作成してVisual Studioで使用するにはどうしたらよいですか? – SaravananArumugam
@SaravananArumugam:私が説明しようとしたように、「通常の」webHttpBindingでは**クライアント側のプロキシを取得できません - そのようなものはありません。 RESTベースのサービス用のクライアントサイドプロキシが必要な場合は、** WCF Data Service **(ここをクリックしてください:http://www.lhotka.net/weblog/CSLA4Version41Release.aspx)を作成する必要があります。 –