diff --git a/Build.PL b/Build.PL index 1b95426..2660e1a 100644 --- a/Build.PL +++ b/Build.PL @@ -4,7 +4,7 @@ Module::Build->new( create_makefile_pl => 'passthrough', dist_abstract => 'SOAP with WSDL support', dist_name => 'SOAP-WSDL', - dist_version => '2.00_14', + dist_version => '2.00_15', module_name => 'SOAP::WSDL', license => 'artistic', requires => { diff --git a/CHANGES b/CHANGES index 3202095..eea5dcd 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,4 @@ -Release notes for SOAP::WSDL 2.00_14 +Release notes for SOAP::WSDL 2.00_15 ------- I'm very happy to present a new pre-release version of SOAP::WSDL. @@ -27,6 +27,15 @@ Features: The following changes have been made: + +2.00_15 +---- + +The following bugs have been fixed (the numbers in square brackets are the +tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921): + + * [ 1792321 ] 2.00_14 requires SOAP::Lite for passing tests + Fixed. 2.00_14 ---- diff --git a/META.yml b/META.yml index de76fed..4925847 100644 --- a/META.yml +++ b/META.yml @@ -1,6 +1,6 @@ --- name: SOAP-WSDL -version: 2.00_14 +version: 2.00_15 author: abstract: SOAP with WSDL support license: artistic @@ -40,7 +40,7 @@ provides: version: 2.00_13 SOAP::WSDL::Deserializer::SOM: file: lib/SOAP/WSDL/Deserializer/SOM.pm - version: 2.00_14 + version: 2.00_15 SOAP::WSDL::Expat::MessageParser: file: lib/SOAP/WSDL/Expat/MessageParser.pm SOAP::WSDL::Expat::MessageStreamParser: diff --git a/lib/SOAP/WSDL/Deserializer/SOM.pm b/lib/SOAP/WSDL/Deserializer/SOM.pm index 5b0f62a..90fce91 100644 --- a/lib/SOAP/WSDL/Deserializer/SOM.pm +++ b/lib/SOAP/WSDL/Deserializer/SOM.pm @@ -2,19 +2,16 @@ package SOAP::WSDL::Deserializer::SOM; use strict; use warnings; -our $VERSION = '2.00_14'; -our @ISA = qw(SOAP::Deserializer); +our $VERSION = '2.00_15'; +our @ISA; -my $HAVE_SOAP_LITE = eval { require SOAP::Lite }; - -sub deserialize { - my $self = shift; - die 'Cannot deserialize to SOM object without SOAP::Lite. -Please install SOAP::Lite. -' - if not $HAVE_SOAP_LITE; - $self->SUPER::deserialize(@_); +eval { + require SOAP::Lite; + push @ISA, 'SOAP::Deserializer'; } +or die "Cannot load SOAP::Lite. +Cannot deserialize to SOM object without SOAP::Lite. +Please install SOAP::Lite."; sub generate_fault { my ($self, $args_from_ref) = @_; diff --git a/t/SOAP/WSDL/03_complexType-all.t b/t/SOAP/WSDL/03_complexType-all.t index 8b35e63..26f086b 100644 --- a/t/SOAP/WSDL/03_complexType-all.t +++ b/t/SOAP/WSDL/03_complexType-all.t @@ -42,6 +42,10 @@ ok $soap->wsdlinit( ), 'parse WSDL'; ok $soap->no_dispatch(1), 'set no dispatch'; +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); + ok ($xml = $soap->call('test', testAll => { Test1 => 'Test 1', diff --git a/t/SOAP/WSDL/03_complexType-element-ref.t b/t/SOAP/WSDL/03_complexType-element-ref.t index db05e02..5951a31 100644 --- a/t/SOAP/WSDL/03_complexType-element-ref.t +++ b/t/SOAP/WSDL/03_complexType-element-ref.t @@ -28,6 +28,10 @@ ok( $soap = SOAP::WSDL->new( no_dispatch => 1, ), 'Instantiated object' ); +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); + ok ($xml = $soap->call('test', testAll => { Test2 => 'Test2', diff --git a/t/SOAP/WSDL/03_complexType-sequence.t b/t/SOAP/WSDL/03_complexType-sequence.t index c6142c1..5be4ab8 100644 --- a/t/SOAP/WSDL/03_complexType-sequence.t +++ b/t/SOAP/WSDL/03_complexType-sequence.t @@ -36,6 +36,11 @@ ok( $soap->wsdlinit( ), 'parsed WSDL' ); $soap->no_dispatch(1); +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); + + #4 ok $xml = $soap->call('test', testSequence => { diff --git a/t/SOAP/WSDL/04_element-simpleType.t b/t/SOAP/WSDL/04_element-simpleType.t index b0a6173..8d6820e 100644 --- a/t/SOAP/WSDL/04_element-simpleType.t +++ b/t/SOAP/WSDL/04_element-simpleType.t @@ -26,6 +26,11 @@ ok( $soap = SOAP::WSDL->new( #3 $soap->readable(1); + +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); + ok( $soap->wsdlinit( servicename => 'testService', ), 'parsed WSDL' ); @@ -34,8 +39,6 @@ $soap->no_dispatch(1); ok ( $xml = $soap->call('test', testElement1 => 1 ) , 'Serialized (simpler) element' ); -# print $xml, "\n"; - TODO: { local $TODO="implement min/maxOccurs checks"; diff --git a/t/SOAP/WSDL/04_element.t b/t/SOAP/WSDL/04_element.t index 00a447e..ed06bec 100644 --- a/t/SOAP/WSDL/04_element.t +++ b/t/SOAP/WSDL/04_element.t @@ -30,6 +30,8 @@ ok( $soap = SOAP::WSDL->new( #3 $soap->readable(1); +$soap->outputxml(1); + ok( $soap->wsdlinit( servicename => 'testService', ), 'parsed WSDL' ); diff --git a/t/SOAP/WSDL/05_simpleType-list.t b/t/SOAP/WSDL/05_simpleType-list.t index c71cb96..0f574ab 100644 --- a/t/SOAP/WSDL/05_simpleType-list.t +++ b/t/SOAP/WSDL/05_simpleType-list.t @@ -23,6 +23,9 @@ ok( $soap = SOAP::WSDL->new( ), 'Instantiated object' ); $soap->readable(1); +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); #3 ok( $soap->wsdlinit( diff --git a/t/SOAP/WSDL/05_simpleType-restriction.t b/t/SOAP/WSDL/05_simpleType-restriction.t index 8c9d109..00e3e2b 100644 --- a/t/SOAP/WSDL/05_simpleType-restriction.t +++ b/t/SOAP/WSDL/05_simpleType-restriction.t @@ -31,6 +31,9 @@ ok( $soap->wsdlinit( ), 'parsed WSDL' ); $soap->no_dispatch(1); $soap->autotype(0); +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); #4 ok $xml = $soap->call('test', testAll => [ 1, 2 ] ) , 'Serialize list call'; diff --git a/t/SOAP/WSDL/05_simpleType-union.t b/t/SOAP/WSDL/05_simpleType-union.t index a788a63..40e4d75 100644 --- a/t/SOAP/WSDL/05_simpleType-union.t +++ b/t/SOAP/WSDL/05_simpleType-union.t @@ -26,6 +26,9 @@ ok $soap = SOAP::WSDL->new( $soap->readable(1); ok $soap->wsdlinit(), 'parsed WSDL'; $soap->no_dispatch(1); +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); #4 ok $xml = $soap->call('test', testAll => 1 ) , 'Serialized call'; diff --git a/t/SOAP/WSDL/11_helloworld.NET.t b/t/SOAP/WSDL/11_helloworld.NET.t index 0884cdb..9ef41e8 100644 --- a/t/SOAP/WSDL/11_helloworld.NET.t +++ b/t/SOAP/WSDL/11_helloworld.NET.t @@ -43,6 +43,10 @@ ok $soap = SOAP::WSDL->new( no_dispatch => 1 ), 'Create SOAP::WSDL object'; +# won't work without - would require SOAP::WSDL::Deserializer::SOM, +# which requires SOAP::Lite +$soap->outputxml(1); + $soap->proxy('http://helloworld/helloworld.asmx'); ok $soap->wsdlinit( diff --git a/t/SOAP/WSDL/12_binding.pl b/t/SOAP/WSDL/12_binding.pl index 687384e..5a63ccf 100644 --- a/t/SOAP/WSDL/12_binding.pl +++ b/t/SOAP/WSDL/12_binding.pl @@ -27,20 +27,3 @@ ok( $soap = SOAP::WSDL->new( ok $soap->wsdlinit( url => $url ); ok $soap->servicename('testService'); ok $soap->portname('testPort'); - - - - -__END__ - -my $xpath = $soap->_wsdl_xpath( ); - -my @ports = $xpath->findnodes( '/definitions/service[@name="' . $soap->servicename() . '"]/port/soap:address[@location="' . $url .'"]'); -if (@ports) -{ - print "# found testPort URL\n"; - my $address = shift @ports; - my $port = $address->getParentNode(); - print $port->getAttribute('binding'), "\n"; - print $port->getAttribute('name'), "\n"; -} \ No newline at end of file