2009-05-19 58 views
-1

WSDl是否只能通過「.svc?wsdl」訪問?我有一個有多個端點的服務。例如(在web.config):有多個端點訪問WSDL的WCF?

<services> 
    <service behaviorConfiguration="MyServiceTypeBehavior" name="WcfService1.Service"> 
    <endpoint binding="wsHttpBinding" bindingConfiguration="ws1" 
    name="ws1" contract="WcfService1.IMyService" /> 
    <endpoint address="http://www.blah.com/Service.svc/Basic" binding="basicHttpBinding" 
    bindingConfiguration="Basic" name="Basic" contract="WcfService1.IMyService" /> 
    <endpoint address="http://localhost:5606/Service.svc/Secured" 
    binding="wsHttpBinding" bindingConfiguration="WsSecured" name="WsSecured" 
    contract="WcfService1.IMyService" /> 
    </service> 
</services> 

如果我去:http://www.blah.com/Service.svc/Basic我得到一個404頁面錯誤。當我轉到http://www.blah.com/Service.svc?wsdl時,我在頁面底部看到了我的wsdl和我的3個端點。我應該能夠通過他們的地址到達其他終端嗎?我有一個客戶端使用Axis2來獲得我們的服務,我想爲不同的客戶端使用多個端點。我知道,我可以將它添加到中的service行爲:

<behavior name="MyServiceTypeBehavior"> 
    <serviceMetadata httpGetEnabled="true" httpGetUrl="Basic" /> 
    <serviceDebug includeExceptionDetailInFaults="true" /> 
    <dataContractSerializer maxItemsInObjectGraph="2147483646"/> 
</behavior> 

但我會爲每一個端點的服務項,對不對?我是否應該擔心能夠通過URL訪問端點?

感謝

丹尼爾

回答

4

我想你可能會過度思考這一點。 WSDL將指定所有端點及其策略。客戶端可以指定使用哪個端點進行通信。

您不需要導航到端點的URL。

+0

你是對的!我一直在想。我很欣賞答案! Daniel – DDiVita 2009-05-19 20:51:49