用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
用C#.NET調(diào)用Java開(kāi)發(fā)的WebService傳遞int,double問(wèn)題,出現(xiàn)java無(wú)法獲得值!
用C#.NET調(diào)用Java開(kāi)發(fā)的WebService時(shí),先在客戶端封裝的帶有int屬性的對(duì)象,當(dāng)將該對(duì)象傳到服務(wù)器端時(shí),服務(wù)器端可以得到string類型的屬性值,卻不能得到int類型、double和DateTime類型的值(在服務(wù)端得到的均為null) 解決辦法: VS2005封裝WebService引用
用C#.NET調(diào)用Java開(kāi)發(fā)的WebService時(shí),先在客戶端封裝的帶有int屬性的對(duì)象,當(dāng)將該對(duì)象傳到服務(wù)器端時(shí),服務(wù)器端可以得到string類型的屬性值,卻不能得到int類型、double和DateTime類型的值(在服務(wù)端得到的均為null)
解決辦法:
VS2005封裝WebService引用時(shí),如果WebService發(fā)布的是一個(gè)基本數(shù)據(jù)類型組成的對(duì)象,則會(huì)對(duì)該對(duì)象的非string屬性同時(shí)生成兩個(gè)屬性,一般是這樣的"屬性××"、"屬性××Specified"。而"屬性名Specified"是一個(gè)bool類型,只有這個(gè)屬性被設(shè)置成true時(shí),"屬性××"的值才會(huì)被序列化成xml傳遞。
同樣的道理,用.NET提供WebService給JAVA調(diào)用時(shí),如果是一個(gè)基本數(shù)據(jù)類型組成的對(duì)象,則會(huì)對(duì)該對(duì)象的非string屬性同時(shí)生成兩個(gè)屬性,一般是這樣的"屬性××"、"屬性××Specified"。如果不將“屬性××Specified”設(shè)置為true的話,服務(wù)端得到的數(shù)據(jù)將是null。解決辦法就是把“屬性××Specified”設(shè)置為true或者把“屬性××Specified”刪掉。
http://msdn.microsoft.com/zh-cn/library/system.xml.xmlattribute.specified(VS.80).aspx
.NET Framework 類庫(kù)
XmlAttribute.Specified 屬性
獲取一個(gè)值,該值指示是否顯式設(shè)置了屬性值。
命名空間:System.Xml
程序集:System.Xml(在 system.xml.dll 中)
屬性值
如果在原始實(shí)例文檔中顯式地為該屬性給定一個(gè)值,則為 true;否則為 false。false 值指示該屬性的值來(lái)自 DTD。
備注
該屬性是由實(shí)現(xiàn)負(fù)責(zé)的,而不是用戶。如果用戶更改該屬性的值(即使它最后與默認(rèn)/固定值具有相同的值),Specified 標(biāo)志就會(huì)自動(dòng)轉(zhuǎn)為 true。若要重新將該屬性指定為 DTD 中的默認(rèn)/固定值,則用戶必須刪除該屬性。然后,實(shí)現(xiàn)提供一個(gè)新屬性,其 Specified 設(shè)置為 false,并具有默認(rèn)/固定值(如果存在的話)。
摘要:
如果屬性具有文檔中的分配值,則 Specified 為 true,并且該值是分配值。
如果屬性沒(méi)有文檔中的分配值,而具有 DTD 中的默認(rèn)/固定值,則 Specified 為 false,該值是 DTD 中的默認(rèn)/固定值。
否則,該屬性不出現(xiàn)在文檔的結(jié)構(gòu)模型中
轉(zhuǎn)載于:https://my.oschina.net/liuguangqiang/blog/517469
總結(jié)
以上是生活随笔為你收集整理的用C#.NET调用Java开发的WebService传递int,double问题,出现java无法获的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: node进程管理——pm2
- 下一篇: php变量的引用与计数规则