Я пытаюсь получить доступ к веб-службе Navision 2009 R2, генерируя сообщение SOAP из C#. Я получаю ответ только в том случае, если функция codeunit, которую я вызываю, не имеет параметров.
Пример функции codeunit RunJob Test (без параметров, возвращает жестко заданную строку):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Test xmlns="urn:microsoft-dynamics-schemas/codeunit/runjob">
</Test>
</soap:Body>
</soap:Envelope>
В результате я получаю эту строку...
Пример для той же кодовой единицы RunJob, функция RunJob (принимает 1 строковый параметр с именем parameter, возвращает внутреннюю ошибку сервера):
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RunJob xmlns="urn:microsoft-dynamics-schemas/codeunit/runjob">
<parameter>aaaa</parameter>
</RunJob>
</soap:Body>
</soap:Envelope>
В результате я получаю сообщение об ошибке (WebResponse wr = request.GetResponse();) вместо необходимой информации.
Самое интересное, что раньше это работало. Единственные изменения (как по мне) - была установлена NAV 2013.
Кто-нибудь сталкивался с такой же проблемой или знает решение?
P.S. Вот часть определения веб-службы для функции RunJob:
<element name="Runjob">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="parameter" type="string"/>
</sequence>
</complexType>
</element>
<element name="Runjob_Result">
<complexType>
<sequence>
<element minOccurs="1" maxOccurs="1" name="return_value" type="string"/>
</sequence>
</complexType>
</element>