.NET 调用java webservice保存datetime类型数据为空的解决办法
问题描述:
用C#.NET调用Java开发的WebService时,先在客户端封装的带有int属性的对象,当将该对象传到服务器端时,服务器端可以得到 string类型的属性值,却不能得到int类型、double和DateTime类型的值(在服务端得到的均为null)
问题原因:
VS封装WebService引用时,如果WebService发布的是一个基本数据类型组成的对象,则会对该对象的非string属性同时生成 两个属性,一般是这样的"属性××"、"属性××Specified"。而"属性名Specified"是一个bool类型,只有这个属性被设置成 true时,"属性××"的值才会被序列化成xml传递
解决办法:
1.首先保证webservice中Bean的日期字段一定是java.util.date类型,而不是java.sql.date类型、
2.在.NET中,生成代理类后,对日期类型属性,除了设置该"属性××"的值外,同时还要设置"属性××Specified"的值为true。
作者:水蓝的梦
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。