Я интегрирую веб-сервис, который возвращает несколько DataTables.
Когда я обновляю ссылку на веб-сервис, иногда возвращаемый тип некоторых методов изменяется с DataTable на класс, который выглядит как массив из 2 элементов (один для схемы, другой для данных).
В браузере мы смотрим на эталонные данные, которые выглядят так:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<NormalMethodResponse xmlns="http://abc.com">
<NormalMethodResult>
<xsd:schema>schema</xsd:schema>xml</NormalMethodResult>
</NormalMethodResponse>
</soap:Body>
</soap:Envelope>
но проблемные методы выглядят так:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ProblemmaticMethodResponse xmlns="http://abs.com">
<ProblemmaticMethodResult>xmlxml</ProblemmaticMethodResult>
</ProblemmaticMethodResponse>
</soap:Body>
</soap:Envelope>
обычно этот проблемный метод возвращает таблицу данных, и он не изменяется между обновлениями веб-ссылок.
Кто-нибудь знает, почему это происходит?
РЕДАКТИРОВАТЬ: Я решил проблему после обновления веб-справки на другом компьютере. Метод теперь возвращает DataTable. Но до сих пор не знаю, почему это происходит.