Search code examples
asp.net-web-apiwsdlsoaplite

Do not recognize element`s type in SOAP::Lite


I try to call WebApi (ASP.Net) from SOAP::Lite lib (perl) by passing WSDL URL via method 'service':

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

I have recieved answer, but all elements in response are processed as 'string', but not else; For example, I expect 1 or 0 for bool types, but get strings true or false.


Solution

  • Probably, SOAP::Lite does not support wsdl properly(does not process response schema from wsdl). So, only one way exists to correctly cast response data: to include type attribute in server-side. IMHO.

    Fortunately, I have used XML::Compile lib by Mark Overmeer and recieved desired results. In my opinion, XML::Compile is more serious solution.