svcutil сгенерировал ненужные классы-оболочки

Я работаю над проектом, в котором используется подход «сначала контракт». Мне дали WSDL и три xsd . Когда я использую svcutil , он генерирует оболочку вокруг класса ответа, например:

public partial class getDataByIdResponse1 {

    public getDataByIdResponse getDataByIdResponse;

    public getDataByIdResponse1() {
    }

    public getDataByIdResponse1(getDataByIdResponse getDataByIdResponse) {
        this.getDataByIdResponse = getDataByIdResponse;
    }
}

getDataByIdResponse заключен в объект getDataByIdResponse1 . Это сделано svcutil , и я не знаю почему. Объект getDataByIdResponse1 не существует в WSDL :

<wsdl:message name="getDataById">
    <wsdl:part name="response" element="tns:getDataByIdResponse"/>
</wsdl:message>

<xs:element name="getDataByIdResponse">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="data" type="sbc:DataType" minOccurs="1" maxOccurs="1" />
        </xs:sequence>
    </xs:complexType>
</xs:element>

Почему тип getDataByIdResponse заключен в getDataById1] getDataById? Есть ли переключатель для svcutil , который мне следовало бы использовать?

7
задан lschin 7 June 2011 в 11:25
поделиться