2011-02-01 8 views
6

WSDLとは何ですか?私はグーグルでの参照の多くを見つけることができません...
どのように私のWCF WebサービスのWSDL URIを知ることができますか?WCFのWSDL URIは何ですか?

答えて

5

WSDLについていくつかの良いチュートリアル:Webサービスのアドレスが

http://services.aonaware.com/DictService/DictService.asmx 

ある場合あなたはこのようなあなたのWSDLファイルに到達することができます:WCFサービスの

http://services.aonaware.com/DictService/DictService.asmx?WSDL 
2

WSDLは、通常、サービスのHTTP(S)URLに?wsdlを追加することによって取得されます。しかし、このWSDLの取得をServiceMetadataBehaviorに許可する必要があります。あなたはWSDLへのハイパーリンクで、ヘルプページを受けるべき

また
<behaviors> 
    <serviceBehaviors> 
    <behavior> 
     <serviceMetadata httpGetEnabled="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

ブラウザにHTTP(S)あなたのサービスのベースURLを入力して:あなたはWCFサービスアプリケーションのプロジェクトテンプレートを使用している場合WCF 4は、すべてのHTTPベースのサービスのためにデフォルトでこれを可能に。

WCF 3.xでは、手動で許可し、サービス定義で動作設定を使用する必要があります。

<behaviors> 
    <serviceBehaviors> 
    <behavior name="myConfig"> 
     <!-- requires HTTPS to be configured for your service --> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<services> 
    <service name="..." behaviorConfiguration="myConfig"> 
    ... 
    </service> 
</services> 

このようにWSDLを取得することは、HTTP(S)GETでのみ可能です。 Metadata endpointからサービスメタデータを取得するためにWS-MetadataExchangeプロトコルを使用することもできます。また、さまざまなトランスポートプロトコルもサポートしています。 WCFのWSDLはSOAPサービスのみに使用されます。

1

WCF内のWSDL URIは、クライアントとの通信に使用できるのプロキシクラスの作成に使用されます。

WSDL URIは、メタデータを取得/呼び出しします。クライアントがプロキシクラスを構築するためには、WCFで使用されるサービスコントラクト、操作規約、メソッド、およびWCFのメソッドのパラメータについて知る必要があります。これらの情報クライアントは、 プロキシクラスを生成できません。アプリケーションでWCFサービスをホストするので、メタデータは実際にはアプリケーション設定ファイルにこれらの情報をすべて生成する責任があります。

関連する問題