2010-01-05 52 views
1

你好我有一個C#WebService的問題,這是工作正常,但突然就停止工作,我得到這個錯誤:WebService的問題枚舉值無效

未處理的異常:System.InvalidOperationException:有是在XML文檔 System.InvalidOperationException錯誤:「大」不是來源

來源有效值是一個枚舉,所以我去了我的WSDL的是這樣說的:

< s:simpleType name="Sources"> 

     <s:restriction base="s:string"> 
      s:enumeration value="Invalid" /> 
      <s:enumeration value="Any" /> 
      <s:enumeration value="RM" /> 
      <s:enumeration value="RV" /> 
      <s:enumeration value="RD" /> 
      <s:enumeration value="LV" /> 
     </s:restriction> 
     </s:simpleType> 

我可以看到它沒有'大「價值,所以我點擊WebService的引用,然後更新Web引用,然後我再次去了WSDL,現在我可以看到‘大’值

< s:simpleType name="Sources"> 

     <s:restriction base="s:string"> 
      <s:enumeration value="Invalid" /> 
      <s:enumeration value="Any" /> 
      <s:enumeration value="RM" /> 
      <s:enumeration value="RV" /> 
      <s:enumeration value="RD" /> 
      <s:enumeration value="LV" /> 
      <s:enumeration value="Big" />  <--------- This one was added 
     </s:restriction> 
     </s:simpleType> 

然而,當我再次遇到它,我得到了同樣的錯誤。

未處理的異常:System.InvalidOperationException:有是在XML文檔 System.InvalidOperationException錯誤:「大」不是來源

我怎麼能解決這個問題一個有效的價值? 似乎更新webservice引用是不夠的。我錯過了什麼嗎?

在此先感謝。

阿爾伯特

--update

我們爲了能夠步入解串器

?XML版本加入此= 「1.0」 編碼= 「UTF-8」?> 配置> System.Diagnostics程序> 開關> 添加名稱= 「XmlSerialization.Compilation」 值= 「4」/> /交換機> /system.diagnostics> /配置>

參考:http://msdn.microsoft.com/en-us/library/aa302290.aspx

這是我發現

全球:: ReVal.Service.BE.WebService.Sources Read1_Sources(字符串s){ 開關(S){ 情況@ 「無效」 :return global :: ReVal.Service.BE.WebService.Sources。@ Invalid; case @「Any」:return global :: ReVal.Service.BE.WebService.Sources。@ Any; case @「RM」:return global :: ReVal.Service.BE.WebService.Sources。@ RM; case @「RV」:return global :: ReVal.Service.BE.WebService.Sources。@ RV; case @「RD」:return global :: ReVal.Service.BE.WebService.Sources。@ RD; case @「LV」:return global :: ReVal.Service.BE.WebService.Sources。@ LV; 默認值:throw CreateUnknownConstantException(s,typeof(global :: ReVal.Service.BE.WebService.Sources)); } }

Big值不在webservice的XMLSerializationReader中。

+0

更新後你做了重新編譯,對吧?沒有冒犯.. – 2010-01-05 16:46:14

+0

是的,我做過了,我重新推薦了整個解決方案 – Albert 2010-01-05 16:47:59

+0

您是通過Web引用引用WebService還是通過拉動WSDL並通過該工具運行以生成代理? – 2010-01-05 16:57:09

回答

0
s:enumeration value="Invalid" /> 

缺少的一部分:

<s:enumeration value="Invalid" /> 

是隻是一個錯字? 是在「<的」一個問題

< s:simpleType name="Sources"> 

的空間?

+0

是的,這是一個故意的打字錯誤,我必須以這種方式編輯它,因爲頁面正在刪除XML部分 – Albert 2010-01-05 17:17:58