我有以下使用wsdl从svcutl ..生成的类。使用wsdl,第三方svcutil提供的xsd生成了一个类文件。
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://someURL/2008")]
public partial class DocImgIdxType_Type
{
private string valueField;
/// <remarks/>
[System.Xml.Serialization.XmlTextAttribute()]
public string Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
}
public partial class DocImgIdx_CType
{
private DocImgIdxType_Type docImgIdxTypeField;
/// <remarks/>
public DocImgIdxType_Type DocImgIdxType
{
get
{
return this.docImgIdxTypeField;
}
set
{
this.docImgIdxTypeField= value;
}
}
肥皂XMl以这种方式生成。
<d4p1:DocImgIdx_CType>
<d4p1:docImgIdxTypeField>
<d4p1:valueField>Document Type</d4p1:valueField>
</d4p1:docImgIdxTypeField>
</d4p1:DocImgIdx_CType>
但是该服务需要一个看起来像这样的XML
<DocImgIdx>
<DocImgIdxType>Document Type</DocImgIdxType>
</DocImgIdx>
为什么使用DocImgIdxType_Type类的docImgIdxTypeField私有成员生成响应?如何删除valueField标签。我尝试使用[System.Xml.Serialization.XmlElementAttribute(“ ..”)]],但还没有。可以使用格式化程序完成此操作,还是需要自定义消息编码器?如果有直接的方法来更改响应,我想这样做。