`
jandroid
  • 浏览: 1894146 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用.NET向webService传数据为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”删掉。

资料:http://msdn.microsoft.com/zh-cn/library/system.xml.xmlattribute.specified(VS.80).aspx

.NET Framework 类库<!---->
XmlAttribute.Specified 属性<!---->
<!--Content type: DocStudio. Transform: devdiv2mtps.xslt.-->

获取一个值,该值指示是否显式设置了属性值。

命名空间:System.Xml
程序集:System.Xml(在 system.xml.dll 中)

属性值

如果在原始实例文档中显式地为该属性给定一个值,则为 true;否则为 falsefalse 值指示该属性的值来自 DTD。

该属性是由实现负责的,而不是用户。如果用户更改该属性的值(即使它最后与默认/固定值具有相同的值),Specified 标志就会自动转为 true。若要重新将该属性指定为 DTD 中的默认/固定值,则用户必须删除该属性。然后,实现提供一个新属性,其 Specified 设置为 false,并具有默认/固定值(如果存在的话)。

摘要:

  1. 如果属性具有文档中的分配值,则 Specifiedtrue,并且该值是分配值。

  2. 如果属性没有文档中的分配值,而具有 DTD 中的默认/固定值,则 Specifiedfalse,该值是 DTD 中的默认/固定值。

  3. 否则,该属性不出现在文档的结构模型中。

分享到:
评论

相关推荐

    .net WebService 大数据量时性能的提高

    NULL 博文链接:https://dampce032.iteye.com/blog/1553879

    经典.NET笔试题 pdf版本

    19.ASP.net的身份验证方式有哪些?分别是什么原理? 答:10。...答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。 ..........................

    asp.net面试题3

    答:string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间。 25.请详述在dotnet中类(class)与结构(struct)的异同? 答:Class可以被实例化,属于引用类型,是分配在内存的堆上...

    《ASP.NET与数据库程序设计》

    2-4使用Visual Studio.NET 2-4-1集成的开发环境 2-4-2工程处理 检视各项数据及辅助工具 引用数据 加入控件或文件 专案属性 建立资料存取环境 第三章表单基本设计 3-1 HTML Control ...

    asp.net面试题

    12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15...

    net学习笔记及其他代码应用

    24.在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。 答:string str = null 是不给他分配内存空间,而string str = \"\" 给它分配长度为空字符串的内存空间。 25.请详述在...

    C#编程经验技巧宝典

    98 &lt;br&gt;0153 如何自定义数字小数点左边分组位数 98 &lt;br&gt;0154 格式化输入数据为货币格式 99 &lt;br&gt;0155 如何计算两个整数的乘积 99 &lt;br&gt;0156 如何将二进制数转换为十进制数 100 &lt;br&gt;0157 如何...

    复杂邮件程序完整Java源码,支持添加附件,图片,HTML格式文本,支持远程WebService调用

    复杂邮件程序完整Java源码,支持添加附件,图片,HTML格式文本,支持远程WebService调用*/ package com.hx.mail; import java.io.File; import java.util.Map; import javax.mail.Message.RecipientType; /** *...

    集成安卓主流优秀第三方组件框架.zip

    数据操作工具类(ToolData.java),自动递归获取表单数据封装成Map、本地数据分页共通方法等 图片操作工具类(ToolPicture.java),生成二维码、验证码、灰度、合成、圆角、水印等操作 读取本地资源工具类...

    pageadmin网站管理系统 v3.0 build20140123、build20140208 注册机 注册码 后门公开

    //Webservice.cs http://www.pageadmin.net/v3.asmx Response.Write(GetString(num2)); */ } private string r(string p0) { return p0.Replace("www.", ""); } public string GetString(int[] num) { ...

Global site tag (gtag.js) - Google Analytics