用C#.NET調用Java開發的WebService傳遞int,double問題,出現java沒法獲

用C#.NET調用Java開發的WebService傳遞int,double問題,出現java沒法得到值!

用C#.NET調用Java開發的WebService時,先在客戶端封裝的帶有int屬性的對象,當將該對象傳到服務器端時,服務器端能夠獲得string類型的屬性值,卻不能獲得int類型、double和DateTime類型的值(在服務端獲得的均爲null) 解決辦法: VS2005封裝WebService引用 html

用C#.NET調用Java開發的WebService時,先在客戶端封裝的帶有int屬性的對象,當將該對象傳到服務器端時,服務器端能夠獲得string類型的屬性值,卻不能獲得int類型、double和DateTime類型的值(在服務端獲得的均爲null) java

解決辦法: 服務器

VS2005封裝WebService引用時,若是WebService發佈的是一個基本數據類型組成的對象,則會對該對象的非string屬性同時生成兩個屬性,通常是這樣的"屬性××"、"屬性××Specified"。而"屬性名Specified"是一個bool類型,只有這個屬性被設置成true時,"屬性××"的值纔會被序列化成xml傳遞。 spa

一樣的道理,用.NET提供WebService給JAVA調用時,若是是一個基本數據類型組成的對象,則會對該對象的非string屬性同時生成兩個屬性,通常是這樣的"屬性××"、"屬性××Specified"。若是不將「屬性××Specified」設置爲true的話,服務端獲得的數據將是null。解決辦法就是把「屬性××Specified」設置爲true或者把「屬性××Specified」刪掉。 .net

http://msdn.microsoft.com/zh-cn/library/system.xml.xmlattribute.specified(VS.80).aspx xml

.NET Framework 類庫 htm

XmlAttribute.Specified 屬性 對象

獲取一個值,該值指示是否顯式設置了屬性值。 blog

命名空間:System.Xml ci

程序集:System.Xml(在 system.xml.dll 中)

屬性值

若是在原始實例文檔中顯式地爲該屬性給定一個值,則爲 true;不然爲 false。false 值指示該屬性的值來自 DTD。

備註

該屬性是由實現負責的,而不是用戶。若是用戶更改該屬性的值(即便它最後與默認/固定值具備相同的值),Specified 標誌就會自動轉爲 true。若要從新將該屬性指定爲 DTD 中的默認/固定值,則用戶必須刪除該屬性。而後,實現提供一個新屬性,其 Specified 設置爲 false,並具備默認/固定值(若是存在的話)。

摘要:

若是屬性具備文檔中的分配值,則 Specified 爲 true,而且該值是分配值。

若是屬性沒有文檔中的分配值,而具備 DTD 中的默認/固定值,則 Specified 爲 false,該值是 DTD 中的默認/固定值。

不然,該屬性不出如今文檔的結構模型中

相關文章
相關標籤/搜索