.NET 调用java webservice保存datetime类型数据为空的解决办法[转]

本文探讨了使用C#.NET调用Java开发的WebService时遇到的问题,即客户端封装的带有int属性的对象,在服务器端无法正确获取int、double及DateTime类型的值。文章分析了问题的原因,并给出了两种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章转自http://auv2009.blog.163.com/blog/static/688587122010724101521262/

问题描述:
用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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值