Не распознавать тип элемента в SOAP::Lite

Я пытаюсь вызвать WebApi (ASP.Net) из SOAP:: Lite lib (perl), передав URL-адрес WSDL через метод «сервис»:

<code>
   use SOAP::Lite;
   SOAP::Lite->new->service( 'http://....wsdl' )->_call( 'method', @params );
</code>

Я получил ответ, но все элементы в ответе обрабатываются как «строка», а не иначе; Например, я ожидаю 1 или 0 для логических типов, но получаю строки true или false.


person d0as8    schedule 28.11.2016    source источник


Ответы (1)


Возможно, SOAP::Lite неправильно поддерживает wsdl (не обрабатывает схему ответа от wsdl). Таким образом, существует только один способ правильно преобразовать данные ответа: включить атрибут type на стороне сервера. ПО МОЕМУ МНЕНИЮ.

К счастью, я использовал библиотеку XML::Compile Марка Овермеера и получил желаемые результаты. На мой взгляд, XML::Compile является более серьезным решением.

person d0as8    schedule 30.11.2016