2011-08-30 23 views
3

我們已經部署在生產服務器上的Web服務,仍然收到此錯誤一次試圖讓調用它:有沒有終點的聽力和錯誤404

"There was no endpoint listening at http://www.ourproductionserver.com/ClientService.svc/mex that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details."

當尋找到的InnerException,它返回我們404文件未找到...

奇怪的是,如果我們複製/經過與下面的錯誤(http://www.ourproductionserver.com/ClientService.svc)給出完全相同的網址,在IE或FireFox中,它顯示正確。 Heum,我們做什麼錯了

我們也試過在本地服務器上,一切正常。

任何人alrealy得到類似的東西,以及如何解決它?

注意:對不起我的英文,我平時說法語。

我們webconfig:

<system.serviceModel> 
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
<bindings> 
    <webHttpBinding> 
    <binding name="WebBinding"></binding> 
    </webHttpBinding> 
</bindings> 
<services> 
    <service name="ourLib.ServiceImplementations.ClientActionService" behaviorConfiguration="ServiceBehavior"> 
    <endpoint name="WebEndpoint" behaviorConfiguration="EndpointBehavior" address="" binding="webHttpBinding" 
       contract="ourLib.ServiceContracts.IClientActionService"> 
    </endpoint> 
    <endpoint contract="ourLib.ServiceContracts.IClientActionService" address="mex" binding="mexHttpBinding"></endpoint> 
    </service> 
<system.serviceModel> 

我們ClientService.svc

<%@ ServiceHost Language="C#" Debug="true" Service="ourLib.ServiceImplementations.ClientActionService" %> 

UPDATE 我們發現,ISP設置爲中等信任級別時,我們都設置爲完全信任。它能改變什麼嗎?如果是的話,我們怎麼能改變它,而不是web.config(我們試過)。

+0

能把它是服務器的問題?因爲我們向服務器主機請求,他們回到我們身邊告訴他們一切都很好......但我不確定,因爲它爲什麼會在我們的測試服務器上運行,但不在他們身邊? –

回答

0

那麼我們和ISP都沒有找到原因,而不是與web服務對話以獲得對數據庫的訪問權限,他們已經放置了一個公共IP地址,因此我們可以通過此IP直接訪問數據庫,而不是通過web服務布萊恩。

謝謝你,但所有我很想找出爲什麼這個情況發生另一次在未來的危機...

0

看起來您正在試圖向元數據交換終結點(mex)發出調用,該元素僅在生成元數據(WSDL)時纔會使用。我會建議檢查你在哪裏設置服務網址,並確保你沒有結束mex部分。

+0

謝謝傑夫。我們會看看它,並回來更多的信息。 –

+0

這邊沒有錯。再次,它在我們的本地服務器上正常工作,但在生產服務器上部署時崩潰了...... –

2

什麼是「/ mex」?這是你的服務類中的一個函數嗎?我剛剛在我自己的Webservice.svc上進行了測試,並且無法完成/所以我不確定您是否可以實際執行此操作...

如果您試圖讓客戶端連接到您的服務,應該只能使用.svc URL,然後調用.NET生成的客戶端對象上的函數。

+0

對不起,當複製到Web瀏覽器時,必須刪除'/ mex'。這一切都很好,我們的問題是真的,只有在生產服務器上。 –