2014-01-17 39 views
1

我已經在這裏搜索瞭解決我的問題的確切解決方案,但無濟於事。向ASP.NET應用程序添加服務引用

我已經將Web服務添加到我的項目,但無法引用它。點擊發現工作正常 - 服務可用,但是當涉及到在其位置檢索服務列表時,出現以下文本:

HTML文檔不包含Web服務發現信息。 元數據包含無法解析的引用:

元數據包含無法解析的引用:

'http://localhost:57657/Services/AFDiscovery.svc'. 

如果該服務在當前解決方案定義,嘗試構建解決方案和 添加服務引用再次。

我該如何解決這個問題?我試圖在本地運行服務,因此我需要在IIS中將其添加到而不是

Web.config文件信息:

<services> 
    <service name="WebServiceInterface.AFDiscovery"> 
    <endpoint address="" binding="wsHttpBinding" contract="WebServiceInterface.AFDiscovery" /> 
    </service> 
</services> 
+0

是在同一個'Solution'這項服務? –

+0

@MichaelPerrenoud - 是的。 – Phil

+0

服務中存在的項目是建築物嗎? –

回答

0

您可以添加包含您的解決方案WebServiceInterface.AFDiscovery項目。然後在使用Web服務的項目中,當添加引用時,而不是單擊「發現」,請使用「從項目加載」選項。

如果要通過URL(Discover按鈕)加載參考,請嘗試在瀏覽器中瀏覽至「http://localhost:57657/Services/AFDiscovery.svc?WSDL」。如果您收到消息說元數據不可訪問,則必須修改您的Web服務web.config。

檢查此鏈接配置web.config中:http://msdn.microsoft.com/en-us/library/aa751951.aspx

應該類似於:

<configuration> 
    <system.serviceModel> 
    <services> 
    <service 
     name="WebServiceInterface.AFDiscovery" 
     behaviorConfiguration="SimpleServiceBehavior"> 

     <endpoint address="" 
       binding="wsHttpBinding" 
       contract="WebServiceInterface.IAFDiscovery" /> 

     <endpoint address="mex" 
       binding="mexHttpBinding" 
       contract="IMetadataExchange" /> 
    </service> 
    </services> 
    <behaviors> 
     <serviceBehaviors> 
     <behavior name="SimpleServiceBehavior"> 
      <serviceMetadata httpGetEnabled="True"/> 
      <serviceDebug includeExceptionDetailInFaults="False" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 
    </system.serviceModel> 
</configuration> 
+1

謝謝 - 錯誤是由Web.config中的錯誤配置引起的。 – Phil

0

其中一個可能性是在你的web.config的服務名稱不確實 匹配的命名空間中的類file.Make確保名稱是 相同然後再試一次。

Refer

和雙通過reghclick檢查服務標記的代碼和標記選擇

相關問題