码迷,mamicode.com
首页 > 编程语言 > 详细

.net调java写的webService传过去的datetime,int等非string类型为null的问题

时间:2015-10-15 12:49:10      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

使用.NET向webService传double、int、DateTime 服务器得到的数据时null的问题 收藏 
用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到string类型的属性值,却不能得到int类型、double和DateTime类型的值(在服务端得到的均为null)

解决办法:

VS2005封装WebService引用时,如果WebService发布的是一个基本数据类型组成的对象,则会对该对象的非string属性同时生成两个属性,一般是这样的"属性××"、"属性××Specified"。而"属性名Specified"是一个bool类型,只有这个属性被设置成true时,"属性××"的值才会被序列化成xml传递。

 

同样的道理,用.NET提供WebService给JAVA调用时,如果是一个基本数据类型组成的对象,则会对该对象的非string属性同时生成两个属性,一般是这样的"属性××"、"属性××Specified"。如果不将“属性××Specified”设置为true的话,服务端得到的数据将是null。解决办法就是把“属性××Specified”设置为true或者把“属性××Specified”删掉。

 

model.isRecommended=CommonMethod.ToInt(row["IsRecommended"]);
model.isRecommendedSpecified = true;
model.creationTime = DateTime.Now;
model.creationTimeSpecified = true;

 

.net调java写的webService传过去的datetime,int等非string类型为null的问题

标签:

原文地址:http://www.cnblogs.com/visibleisfalse/p/4881925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!