2011-11-28 89 views
0

我有一個網站,其中包含一個小的Silverlight插件,調用一個非常簡單的WCF服務來保存Session中的值。MessageXmlProtocolError參數:調試資源字符串不可用。通常的關鍵和參數提供足夠的

它可以在我的電腦上正常工作,並且只能在我的服務器(託管提供商)上的計算機上正常工作。我注意到,對於安裝了Silverlight Developer Edition的所有機器,我的Silverlight應用程序工作正常,但是對於安裝了Silverlight通用版的所有機器,我的應用程序在調用WCF服務時出現以下消息時失敗: 其他信息:[MessageXmlProtocolError] 參數: 調試資源字符串不可用。通常關鍵和參數提供足夠的信息來診斷...

我有crossdomain.xml和clientaccesspolicy.xml文件,應該是正確的,我用basicHttpBinding沒有安全性。另外,開發者版本沒有問題。誰能幫忙? (Silverlight版本= 4)

回答

0

我剛剛添加了一些更改wcf服務url的代碼,以確保它在正確的服務器上運行。這解決了這個問題

0

問題是收到的響應不是WCF服務期望的。從MSDN文檔中,MessageXmlProtocolError是:

「從網絡收到的XML出現問題,請參閱內部異常以獲取更多詳細信息。」

這意味着您需要查看內部異常以確定實際原因。

如果WCF服務駐留在特定URL的IIS中,可能是發件人無權訪問該網站中的該URL。我們不止一次遇到這個問題。

方法來幫助解決問題包括:

1)具有問題,看看你是否能得到充分的異常的計算機上安裝SDK。

2)使用WCF通過加入像下面這樣你的web.config(假設WCF服務塊跟蹤在IIS託管):

<system.diagnostics> 
    <sources> 
     <source name="System.ServiceModel" 
       switchValue="Information, ActivityTracing" 
       propagateActivity="true"> 
     <listeners> 
      <add name="traceListener" 
       type="System.Diagnostics.XmlWriterTraceListener" 
       initializeData="c:\log\WebTrace.svclog" /> 
     </listeners> 
     </source> 
    </sources> 
    </system.diagnostics> 

3)使用的工具等提琴手跟蹤請求以及來自WCF客戶端的回覆,看看您是否可以追蹤此問題。

+0

我的問題是,如果我在客戶機上安裝Silverlight SDK,那麼一切正常。我將哪些代碼放入web.config中進行跟蹤?我的另一個問題是我無法訪問服務器本身,因爲我正在使用共享主機環境。 – fenix2222

+0

這裏是服務URL http://uniquestions.com/Services/DrawingService.svc – fenix2222

+0

對不起,關於web.config:我有代碼在回答,但沒有歸因於它;它現在應該是可見的。 –

相關問題