2014-03-28 79 views
4

我對某些服務有一個奇怪的問題。我不是開發人員,我是系統管理員。SOAP請求失敗,MEX綁定

我們有一些SOAP服務在開發環境中運行。一些SOAP服務開始失敗。這是一個例子。這些都來自相同的網絡配置。

 <endpoint address="http://<URL>/<folder>/service.svc" 
        binding="wsHttpBinding" 
        bindingConfiguration="wsHttpBinding" 
        contract="eConsentSvc.IeConsent" 
        name="WSHttpBinding_IeConsent" /> 

這一個不:

 <endpoint address="http://<URL>/<folder>/service.svc/mex" 
        binding="wsHttpBinding" 
        bindingConfiguration="wsHttpBindingText" 
        contract="MetaDataSvc.IMetaData" 
        name="WSHttpBinding_IMetaData"> 
     </endpoint> 

此日一拋出一個404錯誤。產生的錯誤是這樣的:

在http:////service.svc/mex上沒有端點可以接受該消息。

明顯的區別是「/ mex」。開發商堅持認爲這必須在那裏,所以它必須在那裏。爲什麼它會在那裏向MEX拋出404錯誤?

如果我刪除/ mex,則服務運行並生成它應該創建的XML文檔。

請幫忙。我完全難倒了。

回答

0

在此端點中,不能指定binding="wsHttpBinding" 它必須綁定到mex*之一,例如:mexHttpBinding
另一種方法是簡單地添加另一個端點<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>

<endpoint address="http://<URL>/<folder>/service.svc/mex" 
       binding="wsHttpBinding" 
       bindingConfiguration="wsHttpBindingText" 
       contract="MetaDataSvc.IMetaData" 
       name="WSHttpBinding_IMetaData"> 
</endpoint>