最近项目使用xpo作为数据底层, 需要在webservice中通信(传参和返回)直接使用xpo,则需要改造xpo类,自己实现IXmlSerializable接口。
webservice客户端引用后, 调用时候发对象中的字符串类型的值不能为空,因为引用webservice生成的类字段上加了一个属性
[System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false, IsRequired=true)]
导致字段不能为空,其他自定义类(非xpo)则不会生成IsRequired=true,最终通过对比,在xpo类序列化类结构时,字段属性上加了 minOccurs=\"0\" maxOccurs=\"1\",
客户端重新引用后,IsRequired=true 约束消失,问题解决。
时间: 2024-11-03 03:34:08