WCF肥皂格式化程序

时间:2019-01-30 18:00:47

标签: wcf

我有以下使用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(“ ..”)]],但还没有。可以使用格式化程序完成此操作,还是需要自定义消息编码器?如果有直接的方法来更改响应,我想这样做。

0 个答案:

没有答案