700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c#调用java开发的webservice_用C#.NET调用Java开发的WebService传递int double问题

c#调用java开发的webservice_用C#.NET调用Java开发的WebService传递int double问题

时间:2022-01-30 12:29:08

相关推荐

c#调用java开发的webservice_用C#.NET调用Java开发的WebService传递int double问题

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

解决办法:

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

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

private voidsaveOrUpdate()

{

ChargeWSBeanClient client= newChargeWSBeanClient();

tblCharge tbl= newtblCharge();

tbl.name=txtProjectName.Text;

tbl.code=txtProjectCode.Text;

tbl.remark=rtbRemark.Text;

tbl.unit=txtUnit.Text;

tbl.rate= numericUpDown.Value; //该字段为decimal类型

tbl.rateSpecified = true; //没有设置为true时,java服务端接收到的是null

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。