sab has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I have the following code, bellow. When I run it I get:
$ perl soap_lite_teste.pl document/literal support is EXPERIMENTAL in SOAP::Lite at /usr/lib/per +l5/site_perl/5.8/SOAP/Lite.pm line 2818. Type 'WSCriacaoInput' can't be found in a schema class 'SOAP::Serializ +er'

What am I doing wrong. The WSDL uses complex types. Thanks in advance, Sab

Code


use strict; use SOAP::Lite; use Smart::Comments; use SOAP::Lite +trace => qw (debug); my $resp; my $PartnersWS = SOAP::Lite->service('http://127.0.0.1/UWSAWeb/service +s/WSServicee?wsdl'); my $namespace ="http://service.com"; my $params = SOAP::Data ->type('WSCriacaoInput') ->name('input' => \SOAP::Data->value( SOAP::Data->name('Key' => '05555555'), ..., SOAP::Data->name('Title' => 'Titulo'), ) ); $resp = $PartnersWS->invokeWSService( $params );

Replies are listed 'Best First'.
Re: Problems with namespace when using SOAP::Lite
by duckyd (Hermit) on Nov 07, 2006 at 02:20 UTC
    SOAP::Lite's WSDL support (via service()) doesn't handle complex types. You might try SOAP::WSDL or just do the serialization yourself (set SOAP::Lite up using proxy() rather than service()).