.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。

posted @ 2015-11-26 17:03  水蓝色的梦  阅读(1016)  评论(0编辑  收藏  举报