xml - 属性 c# 的 SOAP XML 序列化
问题描述
目前我的肥皂是这样生成的
<HdrFault>
<Fault>
<ConsumerProd>
<Value>soa test</Value>
</ConsumerProd>
<Fault>
</HrdFault>
我希望它像这样生成
<HdrFault>
<Fault>
<ConsumerProd>soa test</ConsumerProd>
<Fault>
</HrdFault>
这是业务对象。我明白为什么它在那里有一个“价值”字段。我如何序列化它以拥有上面提到的 Soap XML?
[MessageContract]
public partial class HdrFault
{
private FaultHdr_CType faultHdrField;
[MessageBodyMember]
public FaultHdr_CType FaultHdr
{
get
{
return this.faultHdrField;
}
set
{
this.faultHdrField = value;
}
}
}
[MessageContract]
public class FaultHdr_CType
{
#region ConsumerProd
[MessageBodyMember]
public FaultConsumerProd_Type ConsumerProd { get; set; }
#endregion
}
[MessageContract]
public class FaultConsumerProd_Type
{
#region Value
[MessageBodyMember]
public string Value { get; set; }
#endregion
}
解决方案
我做了两件事来解决这个问题。添加 [XmlText]
[MessageContract]
public class ValidConsmName_Type
{
#region Value
[XmlText]
[MessageBodyMember]
public string Value { get; set; }
#endregion
}
其次,我在合同中添加了以下内容
[XmlSerializerFormat(SupportFaults = true)]
[ServiceContract(Namespace = "http://jackhenry.com/jxchange/TPG/2008")]
public interface IInt
{
..}
推荐阅读
- python - 如何在 Python 中实现和执行多个类的线程?
- django-views - 类型错误 Django 3.0.4:运行服务器时出现类型错误
- javascript - “枚举”具有自定义数字序列的字符串?
- azure - 如何在 Azure 广告(客户 API)中请求具有范围的访问令牌
- python - Python If elif else 坏了
- html - Flex 表 CSS 截断问题
- c - C程序的内存布局(栈和堆)
- haskell - Haskel - 有两个论点的数据实例
- ruby-on-rails - 在rails中结合两种方法
- sql-server - “字符串或二进制数据将被截断”的解决方案