Я использую сторонний веб-сервис XML SOAP, использующий svcutil.exe для создания прокси-класса .net, но массивы не заполняются в объекте ответа при вызове методов.
Я использовал некоторый сетевой HTTP-снифферчтобы получить ответ XML, я заметил, что массивы в XML верны, но в объекте ответа они равны нулю, я попытался отредактировать файл WSDL службы, чтобы устранить проблему, но это не удалось.
РЕДАКТИРОВАТЬ: отредактировал WSDL и поместил его на свой собственный хост и добавил ссылку на службу от VS, но оставил URL-адрес конечной точки для ссылки на основную стороннюю службу.
Может любойпомогите мне внести правильные изменения в WSDL, чтобы получить ответ от внешнего веб-сервиса?
XML-ответ, который я получаю с помощью SmartSniff:
.
.
.
.
<Summary>
<ID xsi:type="xsd:string">1</ID>
<Name xsi:type="xsd:string">AAA</Name>
<Errors>
<Error>
<Service xsi:type="xsd:string">Orders</Service>
<Details xsi:type="xsd:string">Orders is not OK</Details></Error>
<Error>
<Service xsi:type="xsd:string">Details</Service>
<Details xsi:type="xsd:string">The Details service was selected but but you do not have access to this service</Details>
</Error>
</Errors>
</Summary>
.
.
.
.
WSDL:
.
.
.
.
<element name="Summary" type="tns:SummaryPart" minOccurs="1" maxOccurs="1"/>
.
.
.
.
<complexType name="SummaryPart">
<sequence>
<element name="ID" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<element name="Errors" type="tns:ErrorArray" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="ErrorArray">
<sequence>
<element name="Error" type="tns:ErrorPart" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="ErrorPart">
<sequence>
<element name="Service" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<element name="Details" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
.
.
.
.
У меня есть эти альтернативы, но не удалось:
1-
.
.
.
.
<element name="Summary" type="tns:SummaryPart" minOccurs="1" maxOccurs="1"/>
.
.
.
.
<complexType name="SummaryPart">
<sequence>
<element name="ID" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<element name="Errors" type="tns:Errors" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
**<complexType name="Errors">
<sequence>
<element name="Error" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="Error">
<sequence>
<element name="Service" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<element name="Details" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>**
.
.
.
.
2-
.
.
.
.
<element name="Summary" type="tns:SummaryPart" minOccurs="1" maxOccurs="1"/>
.
.
.
.
<complexType name="SummaryPart">
<sequence>
<element name="ID" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
**<element name="Errors" type="tns:Error" minOccurs="0" maxOccurs="unbounded"/>**
</sequence>
</complexType>
<complexType name="Error">
<sequence>
<element name="Service" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<element name="Details" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
.
.
.
.
Любые предложенияпожалуйста * * 1023