diff --git a/Build.PL b/Build.PL index cd808bd..76bdf82 100644 --- a/Build.PL +++ b/Build.PL @@ -5,7 +5,7 @@ $build = Module::Build->new( create_makefile_pl => 'small', dist_abstract => 'SOAP with WSDL support', dist_name => 'SOAP-WSDL', - dist_version => '2.00.03', + dist_version => '2.00.04', module_name => 'SOAP::WSDL', license => 'artistic', requires => { diff --git a/Changes b/Changes index 1c992d1..985e2ff 100644 --- a/Changes +++ b/Changes @@ -1,4 +1,4 @@ -Release notes for SOAP::WSDL 2.00.03 +Release notes for SOAP::WSDL 2.00.04 ------- I'm proud to present a new release of SOAP::WSDL. @@ -36,6 +36,27 @@ Features: The following changes have been made: +2.00.04 + +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): +The numbers with # are CPAN RT IDs (http://rt.cpan.org/). + + * [ 1972059 ] Can't set timeout via SOAP::WSDL + * [ 1961409 ] Error with unqualified references in imported schema + * #35873: SOAP::WSDL -- Can't locate object method "set_Action" via package "SOAP::WSDL::OpMessage" + * [ 1969427 ] Mod_Perl.t broken when mod_perl is unavailable + * #35610 Test fails when Test::Without::Module is installed + +The following uncategorized improvements have been made: + + * Changed the environment variable for author tests to "RELEASE_TESTING", + as defined by the Oslo QA Hackathon 2008 + (see http://perl-qa.hexten.net/wiki/index.php/Oslo_QA_Hackathon_2008_:Achievements) + * Enhanced documentation + * Fixed a wrong error message + * Cleaned up test suite (removed duplicate tests) + 2.00.03 - May 18 2008 The following bugs have been fixed (the numbers in square brackets are the diff --git a/MANIFEST b/MANIFEST index 3fd204d..b27b64d 100644 --- a/MANIFEST +++ b/MANIFEST @@ -270,17 +270,17 @@ MANIFEST This list of files META.yml MIGRATING README +SOAP-WSDL-2.00.01.ppd +SOAP-WSDL-2.00.01.zip t/002_parse_wsdl.t t/003_wsdl_based_serializer.t t/006_client.t -t/007_envelope.t t/008_client_wsdl_complexType.t t/009_data_classes.t t/011_simpleType.t t/012_element.t t/013_complexType.t t/016_client_object.t -t/020_storable.t t/095_copying.t t/096_characters.t t/097_kwalitee.t @@ -332,7 +332,9 @@ t/acceptance/wsdl/WSDLParser/imported.xsd t/acceptance/wsdl/WSDLParser/xsd_import_no_location.wsdl t/acceptance/wsdl/WSDLParser_import_loop.wsdl t/contributed.wsdl -t/Expat/03_wsdl.t +t/covered-by.txt +t/covered.txt +t/covered/covered-0.01.db t/lib/Mod_Perl2Test.pm t/lib/MyComplexType.pm t/lib/MyElement.pm @@ -375,6 +377,7 @@ t/SOAP/WSDL/Factory/Deserializer.t t/SOAP/WSDL/Factory/Serializer.t t/SOAP/WSDL/Factory/Transport.t t/SOAP/WSDL/Generator/Template.t +t/SOAP/WSDL/Generator/Template/XSD/Import.t t/SOAP/WSDL/Generator/Visitor.t t/SOAP/WSDL/Generator/Visitor/Typemap.t t/SOAP/WSDL/Generator/XSD.t @@ -403,7 +406,6 @@ t/SOAP/WSDL/XSD/Enumeration.t t/SOAP/WSDL/XSD/Schema.t t/SOAP/WSDL/XSD/SimpleType.t t/SOAP/WSDL/XSD/Typelib/Attribute.t -t/SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t t/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t t/SOAP/WSDL/XSD/Typelib/Builtin/anyType.t t/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.t @@ -414,8 +416,14 @@ t/SOAP/WSDL/XSD/Typelib/Builtin/date.t t/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.t t/SOAP/WSDL/XSD/Typelib/Builtin/decimal.t t/SOAP/WSDL/XSD/Typelib/Builtin/double.t +t/SOAP/WSDL/XSD/Typelib/Builtin/duration.t t/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.t t/SOAP/WSDL/XSD/Typelib/Builtin/float.t +t/SOAP/WSDL/XSD/Typelib/Builtin/gDay.t +t/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.t +t/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.t +t/SOAP/WSDL/XSD/Typelib/Builtin/gYear.t +t/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.t t/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.t t/SOAP/WSDL/XSD/Typelib/Builtin/ID.t t/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.t @@ -435,6 +443,7 @@ t/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.t t/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.t t/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.t t/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.t +t/SOAP/WSDL/XSD/Typelib/Builtin/QName.t t/SOAP/WSDL/XSD/Typelib/Builtin/short.t t/SOAP/WSDL/XSD/Typelib/Builtin/string.t t/SOAP/WSDL/XSD/Typelib/Builtin/time.t diff --git a/META.yml b/META.yml index 261952b..4bb94e8 100644 --- a/META.yml +++ b/META.yml @@ -1,6 +1,6 @@ --- name: SOAP-WSDL -version: 2.00.03 +version: 2.00.04 author: - 'Martin Kutter ' abstract: SOAP with WSDL support @@ -44,10 +44,10 @@ provides: version: 2.00.03 SOAP::WSDL::Base: file: lib/SOAP/WSDL/Base.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Binding: file: lib/SOAP/WSDL/Binding.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Client: file: lib/SOAP/WSDL/Client.pm version: 2.00.03 @@ -68,7 +68,7 @@ provides: version: 2.00.03 SOAP::WSDL::Expat::Base: file: lib/SOAP/WSDL/Expat/Base.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Expat::Message2Hash: file: lib/SOAP/WSDL/Expat/Message2Hash.pm version: 2.00.03 @@ -77,7 +77,7 @@ provides: version: 2.00.03 SOAP::WSDL::Expat::MessageStreamParser: file: lib/SOAP/WSDL/Expat/MessageStreamParser.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Expat::WSDLParser: file: lib/SOAP/WSDL/Expat/WSDLParser.pm version: 2.00.03 @@ -101,16 +101,16 @@ provides: version: 2.00.03 SOAP::WSDL::Generator::Template: file: lib/SOAP/WSDL/Generator/Template.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Generator::Template::Plugin::XSD: file: lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Generator::Template::XSD: file: lib/SOAP/WSDL/Generator/Template/XSD.pm version: 2.00.03 SOAP::WSDL::Generator::Visitor: file: lib/SOAP/WSDL/Generator/Visitor.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Generator::Visitor::Typelib: file: lib/SOAP/WSDL/Generator/Visitor/Typelib.pm version: 2.00.03 @@ -119,7 +119,7 @@ provides: version: 2.00.03 SOAP::WSDL::Message: file: lib/SOAP/WSDL/Message.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::OpMessage: file: lib/SOAP/WSDL/OpMessage.pm version: 2.00.03 @@ -137,16 +137,16 @@ provides: version: 2.00.03 SOAP::WSDL::SOAP::Address: file: lib/SOAP/WSDL/SOAP/Address.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::SOAP::Body: file: lib/SOAP/WSDL/SOAP/Body.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::SOAP::Header: file: lib/SOAP/WSDL/SOAP/Header.pm version: 2.00.03 SOAP::WSDL::SOAP::HeaderFault: file: lib/SOAP/WSDL/SOAP/HeaderFault.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::SOAP::Operation: file: lib/SOAP/WSDL/SOAP/Operation.pm version: 2.00.03 @@ -158,7 +158,7 @@ provides: version: 2.00.03 SOAP::WSDL::Server: file: lib/SOAP/WSDL/Server.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Server::CGI: file: lib/SOAP/WSDL/Server/CGI.pm version: 2.00.03 @@ -167,25 +167,25 @@ provides: version: 2.00.03 SOAP::WSDL::Service: file: lib/SOAP/WSDL/Service.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Transport::HTTP: file: lib/SOAP/WSDL/Transport/HTTP.pm version: 2.00.03 SOAP::WSDL::Transport::Loopback: file: lib/SOAP/WSDL/Transport/Loopback.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::Transport::Test: file: lib/SOAP/WSDL/Transport/Test.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::TypeLookup: file: lib/SOAP/WSDL/TypeLookup.pm version: 2.00.03 SOAP::WSDL::Types: file: lib/SOAP/WSDL/Types.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Annotation: file: lib/SOAP/WSDL/XSD/Annotation.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Attribute: file: lib/SOAP/WSDL/XSD/Attribute.pm version: 2.00.03 @@ -200,22 +200,22 @@ provides: version: 2.00.03 SOAP::WSDL::XSD::Element: file: lib/SOAP/WSDL/XSD/Element.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Enumeration: file: lib/SOAP/WSDL/XSD/Enumeration.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::FractionDigits: file: lib/SOAP/WSDL/XSD/FractionDigits.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Group: file: lib/SOAP/WSDL/XSD/Group.pm version: 2.00.03 SOAP::WSDL::XSD::Length: file: lib/SOAP/WSDL/XSD/Length.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::MaxExclusive: file: lib/SOAP/WSDL/XSD/MaxExclusive.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::MaxInclusive: file: lib/SOAP/WSDL/XSD/MaxInclusive.pm version: 2.00.03 @@ -227,7 +227,7 @@ provides: version: 2.00.03 SOAP::WSDL::XSD::MinInclusive: file: lib/SOAP/WSDL/XSD/MinInclusive.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::MinLength: file: lib/SOAP/WSDL/XSD/MinLength.pm version: 2.00.03 @@ -239,22 +239,22 @@ provides: version: 2.00.03 SOAP::WSDL::XSD::Schema::Builtin: file: lib/SOAP/WSDL/XSD/Schema/Builtin.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::SimpleType: file: lib/SOAP/WSDL/XSD/SimpleType.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::TotalDigits: file: lib/SOAP/WSDL/XSD/TotalDigits.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Typelib::Attribute: file: lib/SOAP/WSDL/XSD/Typelib/Attribute.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Typelib::AttributeSet: file: lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm version: 2.00.03 SOAP::WSDL::XSD::Typelib::Builtin: file: lib/SOAP/WSDL/XSD/Typelib/Builtin.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Typelib::Builtin::ENTITY: file: lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm SOAP::WSDL::XSD::Typelib::Builtin::ID: @@ -286,7 +286,7 @@ provides: file: lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm SOAP::WSDL::XSD::Typelib::Builtin::boolean: file: lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Typelib::Builtin::byte: file: lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm SOAP::WSDL::XSD::Typelib::Builtin::date: @@ -339,7 +339,7 @@ provides: file: lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm SOAP::WSDL::XSD::Typelib::Builtin::time: file: lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Typelib::Builtin::token: file: lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte: @@ -355,7 +355,7 @@ provides: version: 2.1.0 SOAP::WSDL::XSD::Typelib::Element: file: lib/SOAP/WSDL/XSD/Typelib/Element.pm - version: 2.00.03 + version: 2.00.04 SOAP::WSDL::XSD::Typelib::SimpleType: file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm version: 2.00.03 @@ -364,7 +364,7 @@ provides: version: 2.00.03 SOAP::WSDL::XSD::WhiteSpace: file: lib/SOAP/WSDL/XSD/WhiteSpace.pm - version: 2.00.03 + version: 2.00.04 generated_by: Module::Build version 0.2808 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.2.html diff --git a/SOAP-WSDL-2.00.01.ppd b/SOAP-WSDL-2.00.01.ppd new file mode 100644 index 0000000..488f5a3 --- /dev/null +++ b/SOAP-WSDL-2.00.01.ppd @@ -0,0 +1,16 @@ + + + SOAP-WSDL-2.00.01 + SOAP with WSDL support + Martin Kutter <martin.kutter@fen-net.de> + + + + + + + + + + + diff --git a/SOAP-WSDL-2.00.01.zip b/SOAP-WSDL-2.00.01.zip new file mode 100644 index 0000000..f7b0d3b Binary files /dev/null and b/SOAP-WSDL-2.00.01.zip differ diff --git a/benchmark/person.pl b/benchmark/person.pl index 231e3f3..38d87d8 100644 --- a/benchmark/person.pl +++ b/benchmark/person.pl @@ -82,17 +82,17 @@ my $person = { my $compile = XML::Compile::WSDL11->new('../example/wsdl/Person.wsdl', sloppy_integers => 1, check_values => 0, - check_values => 0, validation => 0, ignore_facets => 1, ); +# +# Call all variants once to allow their first-time tasks to be done +# + my $call = $compile->compileClient('ListPerson'); $call->({ in => undef}); -# Initialize SOAP::Lite -my $deserializer = SOAP::Deserializer->new(); - # Initialize SOAP::WSDL interface my $soap = MyInterfaces::TestService::TestPort->new(); # Load all classes - XML::Compile has created everything before, too @@ -102,6 +102,15 @@ my $lite = SOAP::Lite->new()->default_ns('http://www.example.org/benchmark/') ->proxy('http://localhost:81/soap-wsdl-test/person.pl'); $lite->on_action( sub { 'http://www.example.org/benchmark/ListPerson' } ); +$lite->ListPerson(); + +my $lite_xml = SOAP::Lite->new()->default_ns('http://www.example.org/benchmark/') + ->proxy('http://localhost:81/soap-wsdl-test/person.pl'); +$lite_xml->on_action( sub { 'http://www.example.org/benchmark/ListPerson' } ); +$lite_xml->outputxml(1); + +$lite_xml->ListPerson(); + # # register for SOAP 1.1 SOAP::WSDL::Factory::Deserializer->register('1.1' => 'SOAP::WSDL::Deserializer::XSD_XS' ); my $wsdl_xs = MyInterfaces::TestService::TestPort->new(); @@ -114,24 +123,34 @@ SOAP::Lite - $SOAP::Lite::VERSION SOAP::WSDL - $SOAP::WSDL::Client::VERSION SOAP::WSDL_XS - $SOAP::WSDL::Deserializer::XSD_XS::VERSION; XML::Compile::SOAP - $XML::Compile::SOAP::VERSION +XML::Simple - $XML::Simple::VERSION + +XML::Simple uses XML::Parser as backend and SOAP::Lite with +outputxml(1) set as SOAP client. +XML::Parser - $XML::Parser::VERSION + +XML::Simple is not benchmarked in run 3ff, as it is expected +do deliver the same result. Benchmark $n: Store result in private variable and destroy it "; $n++; cmpthese $count, { - 'SOAP::WSDL' => sub { my $result = $soap->ListPerson({}) }, - 'XML::Compile' => sub { my $result = $call->() }, - 'SOAP::WSDL_XS' => sub { my $result = $wsdl_xs->ListPerson({}) }, 'SOAP::Lite' => sub { my $som = $lite->call('ListPerson') }, + 'SOAP::WSDL' => sub { my $result = $soap->ListPerson({}) }, + 'SOAP::WSDL_XS' => sub { my $result = $wsdl_xs->ListPerson({}) }, + 'XML::Compile' => sub { my $result = $call->() }, + 'XML::Simple' => sub { my $result = XMLin( $lite_xml->call('ListPerson')) }, }; print "\nBenchmark $n: Push result on list\n"; $n++; cmpthese $count, { - 'SOAP::WSDL' => sub { push @data, $soap->ListPerson({}) }, - 'XML::Compile' => sub { push @data, $call->() }, - 'SOAP::WSDL_XS' => sub { push @data, $wsdl_xs->ListPerson({}) }, 'SOAP::Lite' => sub { push @data, $lite->call('ListPerson') }, + 'SOAP::WSDL' => sub { push @data, $soap->ListPerson({}) }, + 'SOAP::WSDL_XS' => sub { push @data, $wsdl_xs->ListPerson({}) }, + 'XML::Compile' => sub { push @data, $call->() }, + 'XML::Simple' => sub { push @data, XMLin( $lite_xml->call('ListPerson')) }, }; @data = (); diff --git a/benchmark/person_single.pl b/benchmark/person_single.pl index 3da98fc..26c4cf4 100644 --- a/benchmark/person_single.pl +++ b/benchmark/person_single.pl @@ -5,7 +5,7 @@ use lib '../../SOAP-WSDL_XS/blib/arch'; use strict; use Benchmark; use Storable; -#use SOAP::WSDL::Deserializer::XSD_XS; +use SOAP::WSDL::Deserializer::XSD_XS; use SOAP::WSDL::Factory::Deserializer; # # register for SOAP 1.1 SOAP::WSDL::Factory::Deserializer->register('1.1' => 'SOAP::WSDL::Deserializer::XSD_XS' ); @@ -16,10 +16,10 @@ my @data = (); my $soap = MyInterfaces::TestService::TestPort->new(); # Load all classes - XML::Compile has created everything before, too -#timethis 100, sub { $soap->ListPerson({}) }; -#timethis 50, sub { push @data, $soap->ListPerson({}) }; -#@data = (); -# timethis 50, sub { push @data, $soap->ListPerson({}) }; +timethis 150, sub { $soap->ListPerson({}) }; +timethis 300, sub { push @data, $soap->ListPerson({}) }; +@data = (); +timethis 300, sub { push @data, $soap->ListPerson({}) }; # for (1..50) { push @data, $soap->ListPerson({}) }; #print $soap->ListPerson({}); diff --git a/lib/SOAP/WSDL.pm b/lib/SOAP/WSDL.pm index b02437a..e514260 100644 --- a/lib/SOAP/WSDL.pm +++ b/lib/SOAP/WSDL.pm @@ -10,7 +10,7 @@ use Carp; use Scalar::Util qw(blessed); use SOAP::WSDL::Client; use SOAP::WSDL::Expat::WSDLParser; -use Class::Std::Fast; +use Class::Std::Fast constructor => 'none'; use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType; use LWP::UserAgent; @@ -18,7 +18,6 @@ use version; our $VERSION= qv('2.00.03'); my %no_dispatch_of :ATTR(:name); my %wsdl_of :ATTR(:name); -my %proxy_of :ATTR(:name); my %autotype_of :ATTR(:name); my %outputxml_of :ATTR(:name :default<0>); my %outputtree_of :ATTR(:name); @@ -42,7 +41,6 @@ my %LOOKUP = ( no_dispatch => \%no_dispatch_of, class_resolver => \%class_resolver_of, wsdl => \%wsdl_of, - proxy => \%proxy_of, autotype => \%autotype_of, outputxml => \%outputxml_of, outputtree => \%outputtree_of, @@ -94,12 +92,30 @@ for my $method (keys %LOOKUP ) { } my $ident = ident $self; - $self->wsdlinit() if ($wsdl_of{ $ident }); $client_of{ $ident } = SOAP::WSDL::Client->new(); + $self->wsdlinit() if ($wsdl_of{ $ident }); return $self; } } +sub set_proxy { + my $self = shift; + return $self->get_client()->set_proxy(@_); +} + +sub get_proxy { + my $self = shift; + return $self->get_client()->get_proxy(); +} + +sub proxy { + my $self = shift; + if (@_) { + return $self->set_proxy(@_); + } + return $self->get_proxy(); +} + sub wsdlinit { my ($self, %opt) = @_; my $ident = ident $self; @@ -132,6 +148,15 @@ sub wsdlinit { $servicename_of{ $ident } = $opt{servicename} if $opt{servicename}; $portname_of{ $ident } = $opt{portname} if $opt{portname}; + + $self->_wsdl_init_methods(); + + # pass-through keep_alive if we need it... + $self->get_client()->set_proxy( + $port_of{ $ident }->first_address()->get_location(), + $keep_alive_of{ $ident } ? (keep_alive => 1) : (), + ); + return $self; } ## end sub wsdlinit @@ -151,6 +176,7 @@ sub _wsdl_get_port :PRIVATE { ? $service_of{ $ident }->get_port( $ns, $portname_of{ $ident } ) : $port_of{ $ident } = $service_of{ $ident }->get_port()->[ 0 ]; } + sub _wsdl_get_binding :PRIVATE { my $self = shift; my $ident = ident $self; @@ -160,6 +186,7 @@ sub _wsdl_get_binding :PRIVATE { or croak "no binding found for ", $port->get_binding(); return $binding_of{ $ident }; } + sub _wsdl_get_portType :PRIVATE { my $self = shift; my $ident = ident $self; @@ -169,6 +196,7 @@ sub _wsdl_get_portType :PRIVATE { or croak "cannot find portType for " . $binding->get_type(); return $porttype_of{ $ident }; } + sub _wsdl_init_methods :PRIVATE { my $self = shift; my $ident = ident $self; @@ -259,12 +287,6 @@ sub call { my $client = $client_of{ $ident }; - # pass-through keep_alive if we need it... - $client->set_proxy( $proxy_of{ $ident } - || $port_of{ $ident }->first_address()->get_location(), - $keep_alive_of{ $ident } ? (keep_alive => 1) : (), - ); - $client->set_no_dispatch( $no_dispatch_of{ $ident } ); $client->set_outputxml( $outputxml_of{ $ident } ? 1 : 0 ); @@ -772,8 +794,6 @@ Peter Orvos, Mark Overmeer, Jon Robens, Isidro Vila Verde and Glenn Wood (in alphabetical order) spotted bugs and/or suggested improvements in the 1.2x releases. -Noah Robin contirbuted lots of documentation fixes, and the mod_perl server. - JT Justman and Noah Robin provided early feedback and bug reports for the 2.xx pre-releases. @@ -786,13 +806,17 @@ Matt S. Trout encouraged me "to get a non-dev-release out." CPAN Testers provided most valuable (automated) feedback. Thanks a lot. -Numerous people sent me their real-world WSDL files for testing. Thank you. +Numerous people sent me their real-world WSDL files and error reports for +testing. Thank you. + +Noah Robin contributed lots of documentation fixes, and the mod_perl server, +and eventually joined SOAP::WSDL's developement. Thanks. + +Mark Overmeer wrote XML::Compile::SOAP - competition is good for business. Paul Kulchenko and Byrne Reese wrote and maintained SOAP::Lite and thus provided a base (and counterpart) for SOAP::WSDL. -Mark Overmeer wrote XML::Compile::SOAP - competition is good for business. - =head1 LICENSE AND COPYRIGHT Copyright 2004-2008 Martin Kutter. @@ -806,9 +830,9 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 694 $ $LastChangedBy: kutterma $ - $Id: WSDL.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: WSDL.pm 694 2008-05-25 21:06:56Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $ =cut diff --git a/lib/SOAP/WSDL/Base.pm b/lib/SOAP/WSDL/Base.pm index 3289f20..7b074ce 100644 --- a/lib/SOAP/WSDL/Base.pm +++ b/lib/SOAP/WSDL/Base.pm @@ -5,11 +5,12 @@ use Class::Std::Fast::Storable; use List::Util qw(first); use Carp qw(croak carp confess); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %id_of :ATTR(:name :default<()>); my %lang_of :ATTR(:name :default<()>); my %name_of :ATTR(:name :default<()>); +my %namespace_of :ATTR(:name :default<()>); my %documentation_of :ATTR(:name :default<()>); my %annotation_of :ATTR(:name :default<()>); my %targetNamespace_of :ATTR(:name :default<()>); @@ -24,7 +25,6 @@ sub namespaces { sub START { my ($self, $ident, $arg_ref) = @_; - #$xmlns_of{ $ident }->{ '#default' } = $self->get_xmlns()->{ '#default' }; $xmlns_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace'; $namespaces_of{ $ident }->{ '#default' } = $self->get_xmlns()->{ '#default' }; $namespaces_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace'; @@ -38,10 +38,11 @@ sub DEMOLISH { return; } -sub STORABLE_freeze_pre :CUMULATIVE {}; -sub STORABLE_freeze_post :CUMULATIVE {}; -sub STORABLE_thaw_pre :CUMULATIVE {}; -sub STORABLE_thaw_post :CUMULATIVE { return $_[0] }; +# +#sub STORABLE_freeze_pre :CUMULATIVE {}; +#sub STORABLE_freeze_post :CUMULATIVE {}; +#sub STORABLE_thaw_pre :CUMULATIVE {}; +#sub STORABLE_thaw_post :CUMULATIVE { return $_[0] }; sub _accept { my $self = shift; @@ -109,15 +110,24 @@ sub AUTOMETHOD { sub init { my ($self, @args) = @_; - foreach my $value (@args) - { + foreach my $value (@args) { croak @args if (not defined ($value->{ Name })); + if ($value->{ Name } =~m{^xmlns\:}xms) { # add namespaces $xmlns_of{ ident $self }->{ $value->{ LocalName } } = $value->{ Value }; next; } + # check for namespae-qualified attributes. + # neither XML Schema, nor WSDL1.1, nor the SOAP binding allow + # namespace-qualified attribute names + my ($ns, $localname) = split /\|/, $value->{ Name }; + if ($ns) { + warn "found unrecognised attribute \{$ns}$localname (ignored)"; + next; + } + my $name = $value->{ LocalName }; my $method = "set_$name"; $self->$method( $value->{ Value } ); @@ -128,12 +138,15 @@ sub init { sub expand { my ($self, $qname) = @_; my $ns_of = $self->namespaces(); + my $parent; if (not $qname=~m{:}xm) { if (defined $ns_of->{ '#default' }) { - return $self->get_targetNamespace(), $qname; - # return $ns_of->{ '#default' }, $qname; + # TODO check. Returning the targetNamespace for the default ns + # is probably wrong + #return $self->get_targetNamespace(), $qname; + return $ns_of->{ '#default' }, $qname; } - if (my $parent = $self->get_parent()) { + if ($parent = $self->get_parent()) { return $parent->expand($qname); } die "un-prefixed element name <$qname> found, but no default namespace set\n" @@ -142,7 +155,7 @@ sub expand { my ($prefix, $localname) = split /:/x, $qname; return ($ns_of->{ $prefix }, $localname) if ($ns_of->{ $prefix }); - if (my $parent = $self->get_parent()) { + if ($parent = $self->get_parent()) { return $parent->expand($qname); } croak "unbound prefix $prefix found for $prefix:$localname. Bound prefixes are " diff --git a/lib/SOAP/WSDL/Binding.pm b/lib/SOAP/WSDL/Binding.pm index 6377d55..aab6078 100644 --- a/lib/SOAP/WSDL/Binding.pm +++ b/lib/SOAP/WSDL/Binding.pm @@ -5,7 +5,7 @@ use Class::Std::Fast::Storable; use List::Util qw(first); use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %operation_of :ATTR(:name :default<()>); my %type_of :ATTR(:name :default<()>); diff --git a/lib/SOAP/WSDL/Client/Base.pm b/lib/SOAP/WSDL/Client/Base.pm index 6189d5e..029df98 100644 --- a/lib/SOAP/WSDL/Client/Base.pm +++ b/lib/SOAP/WSDL/Client/Base.pm @@ -65,6 +65,13 @@ SOAP::WSDL::Client::Base - Factory class for WSDL-based SOAP access Factory class for creating interface classes. Should probably be renamed to SOAP::WSDL::Factory::Interface... +=head1 METHODS + +=head2 call + +Abstraction layer method between the generated interfaces and +L. + =head1 LICENSE AND COPYRIGHT Copyright 2004-2007 Martin Kutter. @@ -78,9 +85,9 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 689 $ $LastChangedBy: kutterma $ - $Id: Base.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: Base.pm 689 2008-05-23 22:11:46Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $ =cut diff --git a/lib/SOAP/WSDL/Definitions.pm b/lib/SOAP/WSDL/Definitions.pm index 188a29d..0b29796 100644 --- a/lib/SOAP/WSDL/Definitions.pm +++ b/lib/SOAP/WSDL/Definitions.pm @@ -72,7 +72,7 @@ Returns the service matching the namespace/localname pair passed as arguments. Accessors/Mutators for accessing / setting the EbindingE child element(s). -=head2 find_service +=head2 find_binding Returns the binding matching the namespace/localname pair passed as arguments. @@ -94,7 +94,7 @@ Returns the portType matching the namespace/localname pair passed as arguments. Accessors/Mutators for accessing / setting the EmessageE child element(s). -=head2 find_service +=head2 find_message Returns the message matching the namespace/localname pair passed as arguments. @@ -118,9 +118,9 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 689 $ $LastChangedBy: kutterma $ - $Id: Definitions.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: Definitions.pm 689 2008-05-23 22:11:46Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Definitions.pm $ =cut diff --git a/lib/SOAP/WSDL/Deserializer/Hash.pm b/lib/SOAP/WSDL/Deserializer/Hash.pm index 43ef6db..850d1e5 100644 --- a/lib/SOAP/WSDL/Deserializer/Hash.pm +++ b/lib/SOAP/WSDL/Deserializer/Hash.pm @@ -139,9 +139,20 @@ a parse error appears =back +=head1 METHODS + +=head2 deserialize + +Deserializes the message. + +=head2 generate_fault + +Generates a L +object and returns it. + =head1 LICENSE AND COPYRIGHT -Copyright 2004-2007 Martin Kutter. +Copyright 2004-2008 Martin Kutter. This file is part of SOAP-WSDL. You may distribute/modify it under the same terms as perl itself. @@ -152,9 +163,9 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 689 $ $LastChangedBy: kutterma $ - $Id: Hash.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: Hash.pm 689 2008-05-23 22:11:46Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/Hash.pm $ =cut diff --git a/lib/SOAP/WSDL/Expat/Base.pm b/lib/SOAP/WSDL/Expat/Base.pm index 563ecdf..0346f5b 100644 --- a/lib/SOAP/WSDL/Expat/Base.pm +++ b/lib/SOAP/WSDL/Expat/Base.pm @@ -6,7 +6,7 @@ use XML::Parser::Expat; # TODO: convert to Class::Std::Fast based class - hash based classes suck. -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); sub new { my ($class, $arg_ref) = @_; diff --git a/lib/SOAP/WSDL/Expat/MessageStreamParser.pm b/lib/SOAP/WSDL/Expat/MessageStreamParser.pm index 4c56249..2c1f363 100644 --- a/lib/SOAP/WSDL/Expat/MessageStreamParser.pm +++ b/lib/SOAP/WSDL/Expat/MessageStreamParser.pm @@ -6,7 +6,7 @@ use XML::Parser::Expat; use SOAP::WSDL::Expat::MessageParser; use base qw(SOAP::WSDL::Expat::MessageParser); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); sub parse_start { my $self = shift; @@ -69,9 +69,9 @@ the same terms as perl itself =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 701 $ $LastChangedBy: kutterma $ - $Id: MessageStreamParser.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: MessageStreamParser.pm 701 2008-06-05 19:19:16Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $ =cut diff --git a/lib/SOAP/WSDL/Expat/WSDLParser.pm b/lib/SOAP/WSDL/Expat/WSDLParser.pm index 0af6e28..7a7a745 100644 --- a/lib/SOAP/WSDL/Expat/WSDLParser.pm +++ b/lib/SOAP/WSDL/Expat/WSDLParser.pm @@ -140,7 +140,7 @@ sub _initialize { # TODO skip non-XML Schema namespace tags $parser->setHandlers( Start => sub { - my ($parser, $localname, %attrs) = @_; + my ($parser, $localname, @attrs) = @_; $characters = q{}; my $action = SOAP::WSDL::TypeLookup->lookup( @@ -154,10 +154,11 @@ sub _initialize { eval "require $action->{ class }"; croak $@ if ($@); - my $obj = $action->{ class }->new({ parent => $current, - # xmlns => { '#default' => $parser->namespace($localname) } + my $obj = $action->{ class }->new({ + parent => $current, + namespace => $parser->namespace($localname), }) - ->init( _fixup_attrs( $parser, %attrs ) ); + ->init( _fixup_attrs( $parser, @attrs ) ); if ($current) { # inherit namespace, but don't override @@ -180,7 +181,7 @@ sub _initialize { $current = $obj; } elsif ($action->{ type } eq 'PARENT') { - $current->init( _fixup_attrs($parser, %attrs) ); + $current->init( _fixup_attrs($parser, @attrs) ); } elsif ($action->{ type } eq 'METHOD') { my $method = $action->{ method }; @@ -196,12 +197,12 @@ sub _initialize { ? ref $action->{ value } ? @{ $action->{ value } } : ($action->{ value }) - : _fixup_attrs($parser, %attrs) + : _fixup_attrs($parser, @attrs) ); } elsif ($action->{type} eq 'HANDLER') { my $method = $self->can($action->{method}); - $method->($self, $current, %attrs); + $method->($self, $current, @attrs); } else { # TODO replace by hash lookup of known namespaces. @@ -249,30 +250,41 @@ sub _initialize { # make attrs SAX style sub _fixup_attrs { - my ($parser, %attrs_of) = @_; + my ($parser, @attrs) = @_; - my @attrs_from = map { - $_ = - { - Name => $_, - Value => $attrs_of{ $_ }, - LocalName => $_ - } - } keys %attrs_of; + my @attr_key_from = (); + my @attr_value_from = (); + + while (@attrs) { + push @attr_key_from, shift @attrs; + push @attr_value_from, shift @attrs; + } + + my @attrs_from; # add xmlns: attrs. expat eats them. + # + # add namespaces before attributes: Attributes may be namespace-qualified + # push @attrs_from, map { - # ignore xmlns=FOO namespaces - must be XML schema -# # Other nodes should be ignored somewhere else -# ($_ eq '#default') -# ? () -# : { Name => "xmlns:$_", Value => $parser->expand_ns_prefix( $_ ), LocalName => $_ } } $parser->new_ns_prefixes(); + + push @attrs_from, map { + $_ = + { + Name => defined $parser->namespace($_) + ? $parser->namespace($_) . '|' . $_ + : '|' . $_, + Value => shift @attr_value_from, # $attrs_of{ $_ }, + LocalName => $_ + } + } @attr_key_from; + return @attrs_from; } @@ -310,10 +322,10 @@ the same terms as perl itself =head1 Repository information - $Id: WSDLParser.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: WSDLParser.pm 688 2008-05-23 21:01:54Z kutterma $ - $LastChangedDate: 2008-05-18 22:17:56 +0200 (So, 18 Mai 2008) $ - $LastChangedRevision: 677 $ + $LastChangedDate: 2008-05-23 23:01:54 +0200 (Fr, 23 Mai 2008) $ + $LastChangedRevision: 688 $ $LastChangedBy: kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/WSDLParser.pm $ diff --git a/lib/SOAP/WSDL/Factory/Transport.pm b/lib/SOAP/WSDL/Factory/Transport.pm index bbf7b95..6ff8d59 100644 --- a/lib/SOAP/WSDL/Factory/Transport.pm +++ b/lib/SOAP/WSDL/Factory/Transport.pm @@ -39,7 +39,7 @@ sub get_transport { if (defined $registered_transport_of{ $scheme }) { no strict qw(refs); - defined %{ "$registered_transport_of{ $scheme }::" } or + $registered_transport_of{ $scheme }->can('new') or eval "require $registered_transport_of{ $scheme }" or die "Cannot load transport class $registered_transport_of{ $scheme } : $@"; @@ -60,11 +60,11 @@ sub get_transport { no strict qw(refs); # behaves interestingly different under different versions of perl # maybe true even if it's not available - defined %{ "$SOAP_LITE_TRANSPORT_OF{ $scheme }::" } + my $protocol_class = $SOAP_LITE_TRANSPORT_OF{ $scheme } . '::Client'; + $protocol_class->can('new') or eval "require $SOAP_LITE_TRANSPORT_OF{ $scheme }" or last SOAP_Lite; - my $protocol_class = $SOAP_LITE_TRANSPORT_OF{ $scheme } . '::Client'; # may fail if it's not available my $transport = eval { $protocol_class->new( %attrs ) } or last SOAP_Lite; @@ -74,7 +74,7 @@ sub get_transport { if (exists $SOAP_WSDL_TRANSPORT_OF{ $scheme }) { no strict qw(refs); - defined %{ "$SOAP_WSDL_TRANSPORT_OF{ $scheme }::"} + $SOAP_WSDL_TRANSPORT_OF{ $scheme }->can('new') or eval "require $SOAP_WSDL_TRANSPORT_OF{ $scheme }" or die "Cannot load transport class $SOAP_WSDL_TRANSPORT_OF{ $scheme } : $@"; return $SOAP_WSDL_TRANSPORT_OF{ $scheme }->new( %attrs ); @@ -243,9 +243,9 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 679 $ $LastChangedBy: kutterma $ - $Id: Transport.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: Transport.pm 679 2008-05-18 21:18:03Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $ =cut diff --git a/lib/SOAP/WSDL/Generator/PrefixResolver.pm b/lib/SOAP/WSDL/Generator/PrefixResolver.pm index c33699b..c497c1f 100644 --- a/lib/SOAP/WSDL/Generator/PrefixResolver.pm +++ b/lib/SOAP/WSDL/Generator/PrefixResolver.pm @@ -128,7 +128,7 @@ You cannot suffix your types by some rule yet... Copyright 2008 Martin Kutter. -This library is free software. You may distribute/modify it under +This file is part of SOAP-WSDL. You may distribute/modify it under the same terms as perl itself =head1 AUTHOR diff --git a/lib/SOAP/WSDL/Generator/Template.pm b/lib/SOAP/WSDL/Generator/Template.pm index 5481252..37dd9e4 100644 --- a/lib/SOAP/WSDL/Generator/Template.pm +++ b/lib/SOAP/WSDL/Generator/Template.pm @@ -5,7 +5,7 @@ use Class::Std::Fast::Storable; use Carp; use SOAP::WSDL::Generator::PrefixResolver; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %tt_of :ATTR(:get); my %definitions_of :ATTR(:name :default<()>); diff --git a/lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm b/lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm index 06c4003..02f5607 100644 --- a/lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +++ b/lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm @@ -4,7 +4,7 @@ use warnings; use Carp qw(confess); use Class::Std::Fast::Storable constructor => 'none'; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %namespace_prefix_map_of :ATTR(:name :default<{}>); my %namespace_map_of :ATTR(:name :default<{}>); diff --git a/lib/SOAP/WSDL/Generator/Template/XSD/complexType/all.tt b/lib/SOAP/WSDL/Generator/Template/XSD/complexType/all.tt index 593f6f3..54e7686 100644 --- a/lib/SOAP/WSDL/Generator/Template/XSD/complexType/all.tt +++ b/lib/SOAP/WSDL/Generator/Template/XSD/complexType/all.tt @@ -30,14 +30,17 @@ __PACKAGE__->_factory( { [% FOREACH element = complexType.get_element; IF (ref = element.get_ref); - element = definitions.first_types.find_element(element.expand( element.get_ref )); - END; - IF (type = element.get_type); + ref_element = definitions.first_types.find_element(element.expand( ref )); + -%] + '[% XSD.perl_var_name(XSD.element_name(ref_element)) %]' => '[% XSD.create_xsd_name(ref_element) %]', + +[% ELSIF (type = element.get_type); element_type = definitions.first_types.find_type(complexType.expand( type )); IF (! element_type); type_name = complexType.expand( type ); THROW NOT_FOUND, "${ type_name.0 } ${ type_name.1 } not found"; - END; -%] + END; +-%] '[% XSD.perl_var_name(XSD.element_name(element)) %]' => '[% XSD.create_xsd_name(element_type) %]', [% ELSE; IF (element.first_simpleType); diff --git a/lib/SOAP/WSDL/Generator/Template/XSD/simpleType/restriction.tt b/lib/SOAP/WSDL/Generator/Template/XSD/simpleType/restriction.tt index f75a7c9..a031cfe 100644 --- a/lib/SOAP/WSDL/Generator/Template/XSD/simpleType/restriction.tt +++ b/lib/SOAP/WSDL/Generator/Template/XSD/simpleType/restriction.tt @@ -4,11 +4,11 @@ use base qw( [% base_type = definitions.get_types.0.find_type(simpleType.expand(base)); IF ! base_type; - THROW NOT_FOUND "No base type in " _ simpleType.get_parent.get_name; + THROW NOT_FOUND "base type $base not found." _ simpleType.get_parent.get_name; END; XSD.create_xsd_name(base_type) %]); [% ELSIF (type = simpleType.first_simpleType() ); INCLUDE simpleType/atomicType.tt(type = type); ELSE; THROW "neither base nor atomic type - don't know what to do" %] -[% END %] +[% END %] \ No newline at end of file diff --git a/lib/SOAP/WSDL/Generator/Visitor.pm b/lib/SOAP/WSDL/Generator/Visitor.pm index a679b4c..1470558 100644 --- a/lib/SOAP/WSDL/Generator/Visitor.pm +++ b/lib/SOAP/WSDL/Generator/Visitor.pm @@ -3,7 +3,7 @@ use strict; use warnings; use Class::Std::Fast::Storable; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %definitions_of :ATTR(:name :default<()>); my %type_prefix_of :ATTR(:name :default<()>); diff --git a/lib/SOAP/WSDL/Message.pm b/lib/SOAP/WSDL/Message.pm index 6855622..48892bd 100644 --- a/lib/SOAP/WSDL/Message.pm +++ b/lib/SOAP/WSDL/Message.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %part_of :ATTR(:name :default<[]>); diff --git a/lib/SOAP/WSDL/SOAP/Address.pm b/lib/SOAP/WSDL/SOAP/Address.pm index f6d83c9..4126885 100644 --- a/lib/SOAP/WSDL/SOAP/Address.pm +++ b/lib/SOAP/WSDL/SOAP/Address.pm @@ -4,7 +4,7 @@ use warnings; use base qw(SOAP::WSDL::Base); use Class::Std::Fast::Storable; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %location :ATTR(:name :default<()>); 1; \ No newline at end of file diff --git a/lib/SOAP/WSDL/SOAP/Body.pm b/lib/SOAP/WSDL/SOAP/Body.pm index 232f1e4..4ac3847 100644 --- a/lib/SOAP/WSDL/SOAP/Body.pm +++ b/lib/SOAP/WSDL/SOAP/Body.pm @@ -4,7 +4,7 @@ use warnings; use base qw(SOAP::WSDL::Base); use Class::Std::Fast::Storable; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %use_of :ATTR(:name :default); my %namespace_of :ATTR(:name :default); diff --git a/lib/SOAP/WSDL/SOAP/HeaderFault.pm b/lib/SOAP/WSDL/SOAP/HeaderFault.pm index 763d05e..f641ab0 100644 --- a/lib/SOAP/WSDL/SOAP/HeaderFault.pm +++ b/lib/SOAP/WSDL/SOAP/HeaderFault.pm @@ -3,6 +3,6 @@ use strict; use warnings; use base qw(SOAP::WSDL::Header); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); 1; \ No newline at end of file diff --git a/lib/SOAP/WSDL/Server.pm b/lib/SOAP/WSDL/Server.pm index ff00531..03bb4f2 100644 --- a/lib/SOAP/WSDL/Server.pm +++ b/lib/SOAP/WSDL/Server.pm @@ -6,7 +6,7 @@ use Scalar::Util qw(blessed); use SOAP::WSDL::Factory::Deserializer; use SOAP::WSDL::Factory::Serializer; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %dispatch_to_of :ATTR(:name :default<()>); my %action_map_ref_of :ATTR(:name :default<{}>); @@ -199,6 +199,38 @@ SOAP::Server's deserializer create one for you: You may use any other object as exception, provided it has a serialize() method which returns the object's XML representation. +=head2 Subclassing + +To write a transport-specific SOAP Server, you should subclass +SOAP::WSDL::Server. + +See the C modules for examples. + +A SOAP Server must call the following method to actually handle the request: + +=head3 handle + +Handles the SOAP request. + +Returns the response message as XML. + +Expects a C object as only parameter. + +You may use any other object as parameter, as long as it implements the +following methods: + +=over + +=item * header + +Called as header('SOAPAction'). Must return the corresponding HTTP header. + +=item * content + +Returns the request message + +=back + =head1 LICENSE AND COPYRIGHT Copyright 2004-2008 Martin Kutter. diff --git a/lib/SOAP/WSDL/Server/Mod_Perl2.pm b/lib/SOAP/WSDL/Server/Mod_Perl2.pm index e6ff491..03ec489 100644 --- a/lib/SOAP/WSDL/Server/Mod_Perl2.pm +++ b/lib/SOAP/WSDL/Server/Mod_Perl2.pm @@ -266,8 +266,8 @@ Thanks! =head1 LICENSE AND COPYRIGHT -This library is free software. You may distribute/modify it under -the same terms as perl itself. +This file is part of SOAP-WSDL. You may distribute/modify it under +the same terms as perl itself =head1 AUTHOR diff --git a/lib/SOAP/WSDL/Service.pm b/lib/SOAP/WSDL/Service.pm index 8b29852..9e6bc6c 100644 --- a/lib/SOAP/WSDL/Service.pm +++ b/lib/SOAP/WSDL/Service.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %port_of :ATTR(:name :default<[]>); diff --git a/lib/SOAP/WSDL/Transport/Loopback.pm b/lib/SOAP/WSDL/Transport/Loopback.pm index 1ac1b5c..486f85e 100644 --- a/lib/SOAP/WSDL/Transport/Loopback.pm +++ b/lib/SOAP/WSDL/Transport/Loopback.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'basic'; use SOAP::WSDL::Factory::Transport; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # register on loading SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ ); diff --git a/lib/SOAP/WSDL/Transport/Test.pm b/lib/SOAP/WSDL/Transport/Test.pm index cea409d..5f33985 100644 --- a/lib/SOAP/WSDL/Transport/Test.pm +++ b/lib/SOAP/WSDL/Transport/Test.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable; use SOAP::WSDL::Factory::Transport; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ ); SOAP::WSDL::Factory::Transport->register( https => __PACKAGE__ ); diff --git a/lib/SOAP/WSDL/Types.pm b/lib/SOAP/WSDL/Types.pm index ebc3c92..5a1a96d 100644 --- a/lib/SOAP/WSDL/Types.pm +++ b/lib/SOAP/WSDL/Types.pm @@ -5,7 +5,7 @@ use SOAP::WSDL::XSD::Schema::Builtin; use Class::Std::Fast::Storable; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %schema_of :ATTR(:name :default<[]>); diff --git a/lib/SOAP/WSDL/XSD/Annotation.pm b/lib/SOAP/WSDL/XSD/Annotation.pm index 45f5946..6019652 100644 --- a/lib/SOAP/WSDL/XSD/Annotation.pm +++ b/lib/SOAP/WSDL/XSD/Annotation.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/lib/SOAP/WSDL/XSD/Element.pm b/lib/SOAP/WSDL/XSD/Element.pm index d054380..cc8fbbe 100644 --- a/lib/SOAP/WSDL/XSD/Element.pm +++ b/lib/SOAP/WSDL/XSD/Element.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # id provided by Base # name provided by Base diff --git a/lib/SOAP/WSDL/XSD/Enumeration.pm b/lib/SOAP/WSDL/XSD/Enumeration.pm index 7ab40e6..b475b94 100644 --- a/lib/SOAP/WSDL/XSD/Enumeration.pm +++ b/lib/SOAP/WSDL/XSD/Enumeration.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/lib/SOAP/WSDL/XSD/FractionDigits.pm b/lib/SOAP/WSDL/XSD/FractionDigits.pm index 957b452..1ab8f7e 100644 --- a/lib/SOAP/WSDL/XSD/FractionDigits.pm +++ b/lib/SOAP/WSDL/XSD/FractionDigits.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/lib/SOAP/WSDL/XSD/Length.pm b/lib/SOAP/WSDL/XSD/Length.pm index 6853c56..0aa17dc 100644 --- a/lib/SOAP/WSDL/XSD/Length.pm +++ b/lib/SOAP/WSDL/XSD/Length.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/lib/SOAP/WSDL/XSD/MaxExclusive.pm b/lib/SOAP/WSDL/XSD/MaxExclusive.pm index c2f06ce..61329ae 100644 --- a/lib/SOAP/WSDL/XSD/MaxExclusive.pm +++ b/lib/SOAP/WSDL/XSD/MaxExclusive.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/lib/SOAP/WSDL/XSD/MinInclusive.pm b/lib/SOAP/WSDL/XSD/MinInclusive.pm index 81c7f3b..ac8b849 100644 --- a/lib/SOAP/WSDL/XSD/MinInclusive.pm +++ b/lib/SOAP/WSDL/XSD/MinInclusive.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/lib/SOAP/WSDL/XSD/Schema/Builtin.pm b/lib/SOAP/WSDL/XSD/Schema/Builtin.pm index 7ba87ee..26c6d88 100644 --- a/lib/SOAP/WSDL/XSD/Schema/Builtin.pm +++ b/lib/SOAP/WSDL/XSD/Schema/Builtin.pm @@ -6,7 +6,7 @@ use SOAP::WSDL::XSD::Schema; use SOAP::WSDL::XSD::Builtin; use base qw(SOAP::WSDL::XSD::Schema); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # all builtin types - add validation (e.g. content restrictions) later... my %BUILTINS = ( @@ -98,9 +98,9 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 701 $ $LastChangedBy: kutterma $ - $Id: Builtin.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: Builtin.pm 701 2008-06-05 19:19:16Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Schema/Builtin.pm $ =cut diff --git a/lib/SOAP/WSDL/XSD/SimpleType.pm b/lib/SOAP/WSDL/XSD/SimpleType.pm index ff07e6a..1501ee8 100644 --- a/lib/SOAP/WSDL/XSD/SimpleType.pm +++ b/lib/SOAP/WSDL/XSD/SimpleType.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %length_of :ATTR(:name :default<[]>); my %minLength_of :ATTR(:name :default<[]>); diff --git a/lib/SOAP/WSDL/XSD/TotalDigits.pm b/lib/SOAP/WSDL/XSD/TotalDigits.pm index 5126730..9509a0f 100644 --- a/lib/SOAP/WSDL/XSD/TotalDigits.pm +++ b/lib/SOAP/WSDL/XSD/TotalDigits.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/lib/SOAP/WSDL/XSD/Typelib/Attribute.pm b/lib/SOAP/WSDL/XSD/Typelib/Attribute.pm index 2a6a700..82346d9 100644 --- a/lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +++ b/lib/SOAP/WSDL/XSD/Typelib/Attribute.pm @@ -4,7 +4,7 @@ use warnings; use base qw(SOAP::WSDL::XSD::Typelib::Element); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); sub start_tag { # my ($self, $opt, $value) = @_; diff --git a/lib/SOAP/WSDL/XSD/Typelib/Builtin.pm b/lib/SOAP/WSDL/XSD/Typelib/Builtin.pm index a17a367..df8d10c 100644 --- a/lib/SOAP/WSDL/XSD/Typelib/Builtin.pm +++ b/lib/SOAP/WSDL/XSD/Typelib/Builtin.pm @@ -3,7 +3,7 @@ use strict; use warnings; use Class::Std::Fast::Storable; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); use SOAP::WSDL::XSD::Typelib::Builtin::anyType; use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType; diff --git a/lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm b/lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm index 9b86f91..7861b03 100644 --- a/lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm +++ b/lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm @@ -3,7 +3,7 @@ use strict; use warnings; use Class::Std::Fast::Storable constructor => 'none', cache => 1; -use version; our $VERSION= qv('2.00.03'); +use version; our $VERSION= qv('2.00.04'); use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType); diff --git a/lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm b/lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm index aad9a07..32a950e 100644 --- a/lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm +++ b/lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm @@ -6,7 +6,7 @@ use Date::Format; use Class::Std::Fast::Storable constructor => 'none', cache => 1; use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType); -use version; our $VERSION=qv('2.00.03'); +use version; our $VERSION=qv('2.00.04'); sub set_value { # use set_value from base class if we have a XML-Time format diff --git a/lib/SOAP/WSDL/XSD/Typelib/Element.pm b/lib/SOAP/WSDL/XSD/Typelib/Element.pm index 3d40b70..3b2726d 100644 --- a/lib/SOAP/WSDL/XSD/Typelib/Element.pm +++ b/lib/SOAP/WSDL/XSD/Typelib/Element.pm @@ -3,7 +3,7 @@ package SOAP::WSDL::XSD::Typelib::Element; use Class::Std::Fast::Storable constructor => 'none'; use strict; -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); my %NAME; my %NILLABLE; @@ -176,9 +176,9 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 677 $ + $Rev: 701 $ $LastChangedBy: kutterma $ - $Id: Element.pm 677 2008-05-18 20:17:56Z kutterma $ + $Id: Element.pm 701 2008-06-05 19:19:16Z kutterma $ $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/Element.pm $ =cut diff --git a/lib/SOAP/WSDL/XSD/WhiteSpace.pm b/lib/SOAP/WSDL/XSD/WhiteSpace.pm index 2c40cdd..0c8f02a 100644 --- a/lib/SOAP/WSDL/XSD/WhiteSpace.pm +++ b/lib/SOAP/WSDL/XSD/WhiteSpace.pm @@ -4,7 +4,7 @@ use warnings; use Class::Std::Fast::Storable constructor => 'none'; use base qw(SOAP::WSDL::Base); -use version; our $VERSION = qv('2.00.03'); +use version; our $VERSION = qv('2.00.04'); # diff --git a/t/002_parse_wsdl.t b/t/002_parse_wsdl.t index 3fe8e3d..6e8c604 100644 --- a/t/002_parse_wsdl.t +++ b/t/002_parse_wsdl.t @@ -1,7 +1,9 @@ #!/usr/bin/perl -w use strict; use warnings; -use Test::More tests => 22; +use Test::More tests => 23; +use Storable; + use lib '../lib'; eval { @@ -20,6 +22,8 @@ $parser->parse_string( xml() ); my $wsdl; ok( $wsdl = $parser->get_data() , "get object tree"); +ok Storable::thaw(Storable::freeze($wsdl)); + my $types = $wsdl->first_types(); is $types->get_parent(), $wsdl , 'types parent'; @@ -123,7 +127,7 @@ SKIP: { } ok($xml = $wsdl->find_message('urn:myNamespace', 'testRequest') ->get_part()->[0]->serialize( - undef, + undef, { test => { length => { size => -13, unit => 'BLA' } , int => 3 } }, $serializer_options ), "serialize part" diff --git a/t/006_client.t b/t/006_client.t index ce3cd5d..1eaf48f 100644 --- a/t/006_client.t +++ b/t/006_client.t @@ -32,7 +32,7 @@ $soap->servicename('MessageGateway'); ok( $soap->no_dispatch( 1 ) , "Set no_dispatch" ); ok $soap->get_client(); -ok ! $soap->get_client()->get_proxy(); +ok $soap->get_client()->get_proxy(); SKIP: { skip_without_test_xml(); @@ -74,7 +74,7 @@ ok $soap->get_client()->get_serializer(); # set_soap_version invalidates serializer and deserializer ok $soap->get_client()->set_soap_version('1.1'); -ok ! $soap->get_client()->get_serializer(); +ok ! $soap->get_client()->get_serializer(), 'serializer not loaded yet'; $soap->call( 'EnqueueMessage' , EnqueueMessage => { 'MMessage' => { @@ -93,7 +93,8 @@ SKIP: { eval "require SOAP::Lite" or skip 'cannot test SOAP::Deserializer::SOM without SOAP::Lite', 4; require SOAP::WSDL::Transport::Loopback; - $soap->outputxml(0); + $soap->proxy('http://example.org'); + $soap->outputxml(0); $soap->no_dispatch(0); ok my $result = $soap->call( 'EnqueueMessage' , EnqueueMessage => { 'MMessage' => { @@ -118,4 +119,4 @@ if (! $@) { } else { fail $@ -}; \ No newline at end of file +}; diff --git a/t/007_envelope.t b/t/007_envelope.t deleted file mode 100644 index 859c49a..0000000 --- a/t/007_envelope.t +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/perl -use strict; -use warnings; - -use Test::More qw/no_plan/; -use lib '../lib'; - -eval { - require Test::XML; - import Test::XML; -}; - -use_ok qw/SOAP::WSDL::Serializer::XSD/; - -my $opt = { - readable => 1, - namespace => { - }, -}; -my $xml; -ok( $xml = SOAP::WSDL::Serializer::XSD->serialize( - undef, undef, $opt - ), - "serialize empty envelope" -); - -SKIP: { - skip 'Cannot test XML content without Test::XML', 1 - if (not $Test::XML::VERSION); - is_xml( $xml, q{ - - -} - , 'Content comparison' ); -} diff --git a/t/020_storable.t b/t/020_storable.t deleted file mode 100644 index 9adeb2a..0000000 --- a/t/020_storable.t +++ /dev/null @@ -1,10 +0,0 @@ -use Test::More tests => 1; -use lib '../lib'; -eval "require SOAP::WSDL::XSD::Typelib::Builtin"; -use Storable; - -my $long = SOAP::WSDL::XSD::Typelib::Builtin::long->new(); -$long->set_value( 9 ); -my $clone = Storable::thaw( Storable::freeze( $long ) ); - -is $clone->serialize, 9 , 'clone via freeze/thaw'; \ No newline at end of file diff --git a/t/095_copying.t b/t/095_copying.t index 0cccba5..ea1d3c5 100644 --- a/t/095_copying.t +++ b/t/095_copying.t @@ -2,8 +2,8 @@ use strict; use warnings; use Test::More; use File::Find; -if ( not $ENV{TEST_AUTHOR} ) { - my $msg = 'Author test. Set $ENV{TEST_AUTHOR} to a true value to run.'; +if ( not $ENV{RELEASE_TESTING} ) { + my $msg = 'Author test. Set $ENV{RELEASE_TESTING} to a true value to run.'; plan( skip_all => $msg ); } @@ -52,7 +52,7 @@ sub filelist { return if $File::Find::name =~m{SOAP/WSDL/XSD/Typelib/Attribute\.pm$}xms; return if $File::Find::name =~m{SOAP/WSDL/XSD/Typelib/AttributeSet\.pm$}xms; return if $File::Find::name =~m{SOAP/WSDL/XSD/Group\.pm$}xms; - + return if $File::Find::name =~m{SOAP/WSDL/XSD/TotalDigits\.pm$}xms; return if $File::Find::name =~m{SOAP/WSDL/XSD/Annotation\.pm$}xms; return if $File::Find::name =~m{SOAP/WSDL/XSD/AttributeGroup\.pm$}xms; @@ -65,7 +65,8 @@ sub filelist { return if $File::Find::name =~m{SOAP/WSDL/XSD/MinLength\.pm$}xms; return if $File::Find::name =~m{SOAP/WSDL/XSD/MinInclusive\.pm$}xms; return if $File::Find::name =~m{SOAP/WSDL/XSD/MinExclusive\.pm$}xms; - return if $File::Find::name =~m{SOAP/WSDL/XSD/Whitespace\.pm$}xms; + return if $File::Find::name =~m{SOAP/WSDL/XSD/Pattern\.pm$}xms; + return if $File::Find::name =~m{SOAP/WSDL/XSD/WhiteSpace\.pm$}xms; push @filelist, $File::Find::name; } diff --git a/t/096_characters.t b/t/096_characters.t index db67cb3..47ce3c4 100644 --- a/t/096_characters.t +++ b/t/096_characters.t @@ -8,8 +8,8 @@ use File::Find; use IO::File; -if ( not $ENV{TEST_AUTHOR} ) { - my $msg = 'Author test. Set $ENV{TEST_AUTHOR} to a true value to run.'; +if ( not $ENV{RELEASE_TESTING} ) { + my $msg = 'Author test. Set $ENV{RELEASE_TESTING} to a true value to run.'; plan( skip_all => $msg ); } @@ -46,7 +46,7 @@ sub check_file { while (my $line = $fh->getline() ) { # check for trailing whitespace - # allow single whitespace on line to allow + # allow single whitespace on line to allow # pod source blocks with empty lines # $line_nr++; @@ -67,7 +67,7 @@ sub check_file { print "# tab found in $file line $line_nr cols ${ \join(', ', @tab_pos_from) }\n"; $error_count += scalar(@tab_pos_from); } - + if ($line=~m{\r}) { print "# CR (\\r) found in $file line $line_nr. Convert to LF only.\n"; $error_count++; diff --git a/t/097_kwalitee.t b/t/097_kwalitee.t index ccff854..6ad7ec7 100644 --- a/t/097_kwalitee.t +++ b/t/097_kwalitee.t @@ -6,8 +6,8 @@ use warnings; use Test::More; use English qw(-no_match_vars); -if ( not $ENV{TEST_AUTHOR} ) { - my $msg = 'Author test. Set $ENV{TEST_AUTHOR} to a true value to run.'; +if ( not $ENV{RELEASE_TESTING} ) { + my $msg = 'Author test. Set $ENV{RELEASE_TESTING} to a true value to run.'; plan( skip_all => $msg ); } diff --git a/t/099_pod_coverage.t b/t/099_pod_coverage.t index c5025de..f1efb68 100644 --- a/t/099_pod_coverage.t +++ b/t/099_pod_coverage.t @@ -1,8 +1,8 @@ use Test::More; -if ( not $ENV{TEST_AUTHOR} ) { - my $msg = 'Author test. Set $ENV{TEST_AUTHOR} to a true value to run.'; +if ( not $ENV{RELEASE_TESTING} ) { + my $msg = 'Author test. Set $ENV{RELEASE_TESTING} to a true value to run.'; plan( skip_all => $msg ); } @@ -34,16 +34,30 @@ else { # we are outside t/ |SOAP::WSDL::Part |SOAP::WSDL::Operation |SOAP::WSDL::SOAP::[^:]+ + |SOAP::WSDL::XSD::Annotation |SOAP::WSDL::XSD::Attribute + |SOAP::WSDL::XSD::AttributeGroup |SOAP::WSDL::XSD::SimpleType |SOAP::WSDL::XSD::Element |SOAP::WSDL::XSD::ComplexType |SOAP::WSDL::XSD::Builtin |SOAP::WSDL::XSD::Schema |SOAP::WSDL::XSD::Group + |SOAP::WSDL::XSD::MaxLength + |SOAP::WSDL::XSD::MinLength + |SOAP::WSDL::XSD::MaxInclusive + |SOAP::WSDL::XSD::MinInclusive + |SOAP::WSDL::XSD::MinExclusive + |SOAP::WSDL::XSD::MaxExclusive + |SOAP::WSDL::XSD::Enumeration + |SOAP::WSDL::XSD::Length + |SOAP::WSDL::XSD::FractionDigits + |SOAP::WSDL::XSD::Pattern + |SOAP::WSDL::XSD::SimpleType + |SOAP::WSDL::XSD::TotalDigits + |SOAP::WSDL::XSD::Whitespace |SOAP::WSDL::XSD::Typelib::Attribute |SOAP::WSDL::XSD::Typelib::AttributeSet - ) \z }xms; } all_modules( @dirs ); plan tests => scalar @files; diff --git a/t/Expat/03_wsdl.t b/t/Expat/03_wsdl.t deleted file mode 100644 index 653fd98..0000000 --- a/t/Expat/03_wsdl.t +++ /dev/null @@ -1,410 +0,0 @@ -#!/usr/bin/perl -w -use strict; -use warnings; -use diagnostics; -use Test::More tests => 7; -use lib '../lib'; - -eval { - require Test::XML; - import Test::XML; -}; - -use_ok(qw/SOAP::WSDL::Expat::WSDLParser/); - -my $parser; -ok $parser = SOAP::WSDL::Expat::WSDLParser->new(), "Object creation"; - -$parser->parse( xml() ); - -eval { $parser->parse( xml() ) }; -if ($@) -{ - fail("parsing WSDL"); - die "Can't test without parsed WSDL: " , Dumper $@; -} -else -{ - pass("parsing XML"); -} - -my $wsdl; -ok $wsdl = $parser->get_data() , "get object tree"; - -my $schema = $wsdl->first_types()->get_schema()->[1] || die "No schema !"; - -my $element = $schema->find_element( - 'http://www.example.org/MessageGateway2/' - , 'EnqueueMessage' -); - -ok $element, 'find element'; -is $element->get_xmlns()->{ 'tns' }, 'http://www.example.org/MessageGateway2/', 'Namespace definition'; - - -my $opt = { - typelib => $wsdl->first_types, - readable => 1, - autotype => 0, - namespace => { 'tns' => 'http://www.example.org/MessageGateway2/', - xsd => 'http://www.w3.org/2001/XMLSchema', - 'wsdl' => 'http://schemas.xmlsoap.org/wsdl/', - }, - indent => "", -}; - -my $data = { EnqueueMessage => { - MMessage => { - MRecipientURI => 'anyURI', - MSenderAddress => 'a string', - MMessageContent => 'a string', - MSubject => 'a string', - MDeliveryReportRecipientURI => 'anyURI', - MKeepalive => { - MKeepaliveTimeout => 1234567, - MKeepaliveErrorPolicy => ' ( suppress | report ) ', - } - } -} - -}; - - -SKIP: { skip_without_test_xml(); - is_xml( $wsdl->find_message( - "http://www.example.org/MessageGateway2/" ,'EnqueueMessageRequest' - )->first_part()->serialize( 'test', $data, $opt ), - xml_message() - , "Serialized message part" - ); -} - -sub skip_without_test_xml { - skip("Test::XML not available", 1) if (not $Test::XML::VERSION); -} - -sub xml_message { - return -q{ - - anyURI - a string - a string - a string - anyURI - - 1234567 - ( suppress | report ) - - - -}; - -} - -sub xml { - return q{ - - - - - - - Enqueue message request element - - - - - - - A type containing all elements of a message to enqueue. - - - - - - - - The recipient in URI notaitions. Valid URI schemas are: mailto:, sms:, - phone:. Not all URI schemas need to be implemented at the current - implementation stage. - - - - - - - E-Mail sender address. Ignored for all but mailto: recipient URIs. - - - - - - - Message Content. - - - - - - - Message Subject. Ignored for all but mailto: URIs - - - - - - - - URI to send a delivery report to. May be of one of the following schemes: - mailto:, http:, https:. Reports to mailto: URIs are sent as plaintext, - reports to http(s) URIs are sent as SOAP requests following the - MessageGatewayClient service definition. - - - - - - - Container for keepalive information. May be missing. - - - - - - - - - - Type containing keeplive information. - - - - - - - Keepalive timeout. The keepalive timeout spezifies how long the sending of - a message will be delayed waiting for keepalive updates. If a keepalive - update is received during this period, the timeout will be reset. If not, - the message will be sent after the timeout has expired. - - - - - - - - Policy to comply to in case of system errors. Valid values are "suppress" - and "report". If the policy is set to "suppress", keepalive messages will - not be sent to their recipients in case of partial system failure, even if - the keepalive has expired. This may result in "false negatives", i.e. - messages may not be sent, even though their keepalive has expired. If the - value is "report", keepalive messages will be sent from any cluster node. - This may result in "false positive" alerts. - - - - - - - - - - - - - - - Type containing a message ID. - - - - - - - - - - - Type containing all elements of a keppalive update / remove request. - - - - - - - The ID for the message to update / remove - - - - - - - - The action to perform. Valid values are: "remove", "update". On "remove", - the message with the ID specified will be removed from the queue, thus it - will never be sent, even if it's timeout expires. On "update" the - keepalive timeout of the corresponding message will be reset. - - - - - - - - - - - - - - Keepalive message request element - - - - - Response element for a keepalive request - - - - - Enqueue message response element - - - - - - - - A complex type containing one element: The message to enqueue. - - - - - - - Element containing a message to enqueue. - - - - - - - - - - - - A complex type containing one element: The keepalive message to process. - - - - - - - - Element containing a keepalive message to process. - - - - - - - - - - - inputparameters for EnqueueMessag - - - - - - outputparameters for EnqueueMessag - - - - - - input parameters for KeepaliveMessag - - - - - output parameters for KeepaliveMessag - - - - - - generic port type for all methods required for sending messages over the mosaic - message gatewa - - - - This method is used to enqueue a normal (immediate send) or a delayed message with - keepalive functionality. - - - - - - - - This method is used to update or remove a - keepalive message. - - - - - - - - Generic binding for all (SOAP) port - - - - - - - - - - - - - - - - - - - - - - - - Web Service for sending messages over the mosaic message gatewa - - - - HTTP(S) port for the mosaic message gatewa - - - -}; -} diff --git a/t/SOAP/WSDL.t b/t/SOAP/WSDL.t index 90e2cf9..91d2c9c 100644 --- a/t/SOAP/WSDL.t +++ b/t/SOAP/WSDL.t @@ -1,6 +1,6 @@ use strict; use warnings; -use Test::More tests => 12; +use Test::More tests => 13; use File::Spec; use File::Basename qw(dirname); use_ok qw(SOAP::WSDL); @@ -30,7 +30,7 @@ like $@, qr{ unable \s to \s extract \s schema \s from \s WSDL }x, 'empty defini $soap = SOAP::WSDL->new(); $soap->wsdl( "file://$path/WSDL_NO_MESSAGE.wsdl"); eval { $soap->wsdlinit() }; -eval { $soap->call('NewOperation', 'value'); }; +# eval { $soap->call('NewOperation', 'value'); }; like $@, qr{ Message \s \{http://www.example.org/WSDL_1/\}NewOperationRequest \s not \s found }x, 'empty definition'; $soap = SOAP::WSDL->new(); @@ -41,6 +41,9 @@ $soap->no_dispatch(1); like $soap->call('NewOperation', NewOperation => { in => 'test' }), qr{ test }x; like $soap->call('NewOperation', { NewOperation => { in => 'test' } }), qr{ test }x; +$soap->set_proxy('http://foo.de', timeout => 256); +is $soap->get_client->get_transport()->timeout(), 256, 'timeout'; + $soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_1.wsdl", servicename => 'NewService', portname => 'NewPort', @@ -52,22 +55,20 @@ like $soap->call('NewOperation', NewOperation => { in => 'test' }), qr{ test like $soap->call('NewOperation', { NewOperation => { in => 'test' } }), qr{ test }x; -$soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_BINDING.wsdl", - servicename => 'NewService', - portname => 'NewPort', - no_dispatch => 1, -); eval { - $soap->call('NewOperation', { NewOperation => { in => 'test' } }); + $soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_BINDING.wsdl", + servicename => 'NewService', + portname => 'NewPort', + no_dispatch => 1, + ); }; like $@, qr{ no \s binding }x, 'No binding error'; -$soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_PORTTYPE.wsdl", - servicename => 'NewService', - portname => 'NewPort', - no_dispatch => 1, -); eval { - $soap->call('NewOperation', { NewOperation => { in => 'test' } }); + $soap = SOAP::WSDL->new( wsdl => "file://$path/WSDL_NO_PORTTYPE.wsdl", + servicename => 'NewService', + portname => 'NewPort', + no_dispatch => 1, + ); }; like $@, qr{ cannot \s find \s portType }x, 'No porttype error'; diff --git a/t/SOAP/WSDL/12_binding.t b/t/SOAP/WSDL/12_binding.t index 4c5ba21..bee18af 100644 --- a/t/SOAP/WSDL/12_binding.t +++ b/t/SOAP/WSDL/12_binding.t @@ -22,7 +22,7 @@ my $proxy = 'http://127.0.0.1/testPort'; ok( $soap = SOAP::WSDL->new( wsdl => 'file://' . $url . '/../../acceptance/wsdl/02_port.wsdl' ) ); - -ok $soap->wsdlinit( url => $proxy ); ok $soap->servicename('testService'); ok $soap->portname('testPort'); + +ok $soap->wsdlinit( url => $proxy ); diff --git a/t/SOAP/WSDL/Generator/Template/XSD/Import.t b/t/SOAP/WSDL/Generator/Template/XSD/Import.t new file mode 100644 index 0000000..bd6c3f9 --- /dev/null +++ b/t/SOAP/WSDL/Generator/Template/XSD/Import.t @@ -0,0 +1,36 @@ +use Test::More tests => 3; +use File::Basename qw(dirname); +use File::Spec; +use File::Path; +use diagnostics; +my $path = File::Spec->rel2abs( dirname __FILE__ ); + +use_ok qw(SOAP::WSDL::Generator::Visitor::Typelib); +use_ok qw(SOAP::WSDL::Generator::Template::XSD); + +use SOAP::WSDL::Expat::WSDLParser; + +my $parser = SOAP::WSDL::Expat::WSDLParser->new(); + +my $definitions = $parser->parse_uri( + "file://$path/../../../../../acceptance/wsdl/WSDLParser-import.wsdl" + ); + +my $generator = SOAP::WSDL::Generator::Template::XSD->new({ + definitions => $definitions, + type_prefix => 'Foo', + element_prefix => 'Foo', + typemap_prefix => 'Foo', + OUTPUT_PATH => "$path/testlib", +}); + +my $code = ""; +$generator->set_output(\$code); +$generator->generate_typelib(); +{ + eval $code; + ok !$@; + print $@ if $@; +} + +rmtree "$path/testlib"; diff --git a/t/SOAP/WSDL/Generator/XSD.t b/t/SOAP/WSDL/Generator/XSD.t index f8ffbb3..33987ad 100644 --- a/t/SOAP/WSDL/Generator/XSD.t +++ b/t/SOAP/WSDL/Generator/XSD.t @@ -1,4 +1,4 @@ -use Test::More tests => 61; +use Test::More tests => 68; use File::Basename qw(dirname); use File::Spec; use File::Path; @@ -12,12 +12,34 @@ use SOAP::WSDL::Expat::WSDLParser; my $parser = SOAP::WSDL::Expat::WSDLParser->new(); -my $definitions = $parser->parse_file( - "$path/../../../acceptance/wsdl/generator_test.wsdl" -); +# +# the next test is a bit odd: on parsing the WSDL, we test whether the +# parser can cope with unknown (anyAttribute) attributes. +# The default is to issue a warning. +# +# But if Test::Warn isn't there, we have to skip the test, but parse the +# file, too, so in this case we skip a zero-length block, set no warnings +# and parse the WSDL... +# -#my $type = $definitions->first_types()->find_type('urn:Test', 'elementRefComplexType'); -#die $type->get_element()->[0]->_DUMP; +my $definitions; +if (eval "require Test::Warn; 1") { + Test::Warn::warning_is( sub { + $definitions = $parser->parse_file( + "$path/../../../acceptance/wsdl/generator_test.wsdl" + ); + }, 'found unrecognised attribute {http://foo.bar}Action (ignored)' + , 'warning on unrecognized attribute'); +} +else { + SKIP: { + skip "cannot test warnings without Test::Warn", 1 + } + no warnings; + $definitions = $parser->parse_file( + "$path/../../../acceptance/wsdl/generator_test.wsdl" + ); +} my $generator = SOAP::WSDL::Generator::Template::XSD->new({ definitions => $definitions, @@ -96,7 +118,6 @@ for (1..2) { is $header->get_Test2(), 'Header2', 'Header content'; } - # complexType choice test ok $message = $interface->testChoice( { Test1 => 'Test1' } ), 'call soap method (no_dispatch)'; ok $message = $interface->testChoice( { Test2 => 'Test2' } ), 'call soap method (no_dispatch)'; @@ -191,6 +212,18 @@ is $obj->serialize({ name => 'baz'}), q{foo}; use_ok qw(MyAttributes::TestAttribute); ok $obj = MyAttributes::TestAttribute->new({ value => 'foo' }); +use_ok qw(MyElements::testRef); +ok $obj = MyElements::testRef->new({ testElementString => 'foo'}); +is q{foo} + , $obj->serialize_qualified() + , 'serialize element ref'; + +use_ok qw(MyElements::testAtomicRef); +ok $obj = MyElements::testAtomicRef->new({ in => 'foo'}); +is q{foo} + , $obj->serialize_qualified() + , 'serialize element with atomic complexType / all with element ref'; + SKIP: { eval { require Test::Pod::Content; } diff --git a/t/SOAP/WSDL/Server/Mod_Perl2.t b/t/SOAP/WSDL/Server/Mod_Perl2.t index 32a0333..5e67fd5 100644 --- a/t/SOAP/WSDL/Server/Mod_Perl2.t +++ b/t/SOAP/WSDL/Server/Mod_Perl2.t @@ -25,17 +25,39 @@ my %DIR_CONFIG_OF = ( ); + +# Ouch, testing mod_perl without mod_perl is pain in the arse. +# +# This is what we have to mock +# +#use Apache2::RequestIO (); # $r->read() +#use Apache2::RequestRec (); # $r->headers_in +#use Apache2::RequestUtil(); # $r->dir_config() +#use APR::Table (); # $r->headers_in->get() +#use Apache2::Log (); # $r->log +#use Apache2::Const -compile => qw( +# OK +# SERVER_ERROR +# HTTP_LENGTH_REQUIRED +# ); + my $mock = Test::MockObject->new(); -$mock->fake_module('APR::Table'); -$mock->fake_module('Apache2::Log' => - new => sub { return bless {}, 'Apache2::Log' }, - error => sub { shift; push @ERROR_FROM, @_ }, - warn => sub { shift; push @ERROR_FROM, @_ }, +$mock->fake_module('Apache2::Const' => + OK => sub { 1 }, + SERVER_ERROR => sub { 500 }, + HTTP_LENGTH_REQUIRED => sub { 411 }, + import => sub {}, ); $mock->fake_module('Apache2::Headers' => new => sub { my $class = shift; return bless { @_ }, $class }, get => sub { return $_[0]->{ $_[1] } }, ); +$mock->fake_module('Apache2::Log' => + new => sub { return bless {}, 'Apache2::Log' }, + error => sub { shift; push @ERROR_FROM, @_ }, + warn => sub { shift; push @ERROR_FROM, @_ }, +); +$mock->fake_module('Apache2::RequestIO'); $mock->fake_module('Apache2::RequestRec' => new => sub { return bless {}, 'Apache2::RequestRec' }, log => sub { return Apache2::Log->new() }, @@ -51,7 +73,8 @@ $mock->fake_module('Apache2::RequestRec' => content_type => sub {}, 'print' => sub { shift; $RESPONSE .= join(q{}, @_) }, ); - +$mock->fake_module('Apache2::RequestUtil'); +$mock->fake_module('APR::Table'); use_ok qw(SOAP::WSDL::Server::Mod_Perl2); diff --git a/t/SOAP/WSDL/XSD/AttributeGroup.t b/t/SOAP/WSDL/XSD/AttributeGroup.t index a3ca2d2..4a36809 100644 --- a/t/SOAP/WSDL/XSD/AttributeGroup.t +++ b/t/SOAP/WSDL/XSD/AttributeGroup.t @@ -1,6 +1,7 @@ use strict; use warnings; -use Test::More tests => 1; #qw(no_plan); +use Test::More tests => 2; #qw(no_plan); use_ok qw(SOAP::WSDL::XSD::AttributeGroup); +ok my $group = SOAP::WSDL::XSD::AttributeGroup->new(); diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t deleted file mode 100644 index 90f3128..0000000 --- a/t/SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t +++ /dev/null @@ -1,104 +0,0 @@ -use Test::More tests => 176; -use Scalar::Util qw(blessed); - -# use SOAP::WSDL::XSD::Typelib::Builtin::anyType; -use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType; -use SOAP::WSDL::XSD::Typelib::Builtin::anyURI; -use SOAP::WSDL::XSD::Typelib::Builtin::base64Binary; -use SOAP::WSDL::XSD::Typelib::Builtin::boolean; -use SOAP::WSDL::XSD::Typelib::Builtin::byte; -use SOAP::WSDL::XSD::Typelib::Builtin::date; -use SOAP::WSDL::XSD::Typelib::Builtin::dateTime; -use SOAP::WSDL::XSD::Typelib::Builtin::decimal; -use SOAP::WSDL::XSD::Typelib::Builtin::double; -use SOAP::WSDL::XSD::Typelib::Builtin::duration; -use SOAP::WSDL::XSD::Typelib::Builtin::ENTITY; -use SOAP::WSDL::XSD::Typelib::Builtin::float; -use SOAP::WSDL::XSD::Typelib::Builtin::gDay; -use SOAP::WSDL::XSD::Typelib::Builtin::gMonth; -use SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay; -use SOAP::WSDL::XSD::Typelib::Builtin::gYear; -use SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth; -use SOAP::WSDL::XSD::Typelib::Builtin::hexBinary; -use SOAP::WSDL::XSD::Typelib::Builtin::ID; -use SOAP::WSDL::XSD::Typelib::Builtin::IDREF; -use SOAP::WSDL::XSD::Typelib::Builtin::IDREFS; -use SOAP::WSDL::XSD::Typelib::Builtin::int; -use SOAP::WSDL::XSD::Typelib::Builtin::integer; -use SOAP::WSDL::XSD::Typelib::Builtin::language; -use SOAP::WSDL::XSD::Typelib::Builtin::long; -use SOAP::WSDL::XSD::Typelib::Builtin::Name; -use SOAP::WSDL::XSD::Typelib::Builtin::NCName; -use SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN; -use SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS; -use SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger; -use SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger; -use SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger; -use SOAP::WSDL::XSD::Typelib::Builtin::normalizedString; -use SOAP::WSDL::XSD::Typelib::Builtin::NOTATION; -use SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger; -use SOAP::WSDL::XSD::Typelib::Builtin::QName; -use SOAP::WSDL::XSD::Typelib::Builtin::short; -use SOAP::WSDL::XSD::Typelib::Builtin::string; -use SOAP::WSDL::XSD::Typelib::Builtin::time; -use SOAP::WSDL::XSD::Typelib::Builtin::token; -use SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte; -use SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt; -use SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong; -use SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort; - - -for ( -qw( - SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType - SOAP::WSDL::XSD::Typelib::Builtin::anyURI - SOAP::WSDL::XSD::Typelib::Builtin::base64Binary - SOAP::WSDL::XSD::Typelib::Builtin::boolean - SOAP::WSDL::XSD::Typelib::Builtin::byte - SOAP::WSDL::XSD::Typelib::Builtin::date - SOAP::WSDL::XSD::Typelib::Builtin::dateTime - SOAP::WSDL::XSD::Typelib::Builtin::decimal - SOAP::WSDL::XSD::Typelib::Builtin::double - SOAP::WSDL::XSD::Typelib::Builtin::duration - SOAP::WSDL::XSD::Typelib::Builtin::ENTITY - SOAP::WSDL::XSD::Typelib::Builtin::float - SOAP::WSDL::XSD::Typelib::Builtin::gDay - SOAP::WSDL::XSD::Typelib::Builtin::gMonth - SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay - SOAP::WSDL::XSD::Typelib::Builtin::gYear - SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth - SOAP::WSDL::XSD::Typelib::Builtin::hexBinary - SOAP::WSDL::XSD::Typelib::Builtin::ID - SOAP::WSDL::XSD::Typelib::Builtin::IDREF - SOAP::WSDL::XSD::Typelib::Builtin::IDREFS - SOAP::WSDL::XSD::Typelib::Builtin::int - SOAP::WSDL::XSD::Typelib::Builtin::integer - SOAP::WSDL::XSD::Typelib::Builtin::language - SOAP::WSDL::XSD::Typelib::Builtin::long - SOAP::WSDL::XSD::Typelib::Builtin::Name - SOAP::WSDL::XSD::Typelib::Builtin::NCName - SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger - SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN - SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS - SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger - SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger - SOAP::WSDL::XSD::Typelib::Builtin::normalizedString - SOAP::WSDL::XSD::Typelib::Builtin::NOTATION - SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger - SOAP::WSDL::XSD::Typelib::Builtin::QName - SOAP::WSDL::XSD::Typelib::Builtin::short - SOAP::WSDL::XSD::Typelib::Builtin::string - SOAP::WSDL::XSD::Typelib::Builtin::time - SOAP::WSDL::XSD::Typelib::Builtin::token - SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte - SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt - SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong - SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort -) ) { - my $obj = $_->new(); - ok blessed $obj; - is $obj->get_value(), undef; - $obj = $_->new({}); - ok blessed $obj; - is $obj->get_value(), undef; -} \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/QName.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/QName.t new file mode 100644 index 0000000..8a3e526 --- /dev/null +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/QName.t @@ -0,0 +1,10 @@ +use Test::More tests => 4; +use strict; +use warnings; +use SOAP::WSDL::XSD::Typelib::Builtin::QName; +my $obj = SOAP::WSDL::XSD::Typelib::Builtin::QName->new(); +ok defined $obj; +ok $obj->set_value('wsdl:foo'); +ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::QName->new({ value => 'wsdl:foo' }); + +ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance'; \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t index 6ae8905..8498a16 100644 --- a/t/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t @@ -1,7 +1,8 @@ use strict; use warnings; -use Test::More tests => 24; +use Test::More tests => 26; use Scalar::Util qw(blessed); +use Storable; use lib '../../../../../../lib'; use_ok qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType); @@ -11,8 +12,7 @@ my $id = ${ $obj }; undef $obj; $obj = SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new(); - -is ${ $obj }, $id; +is ${ $obj }, $id, 'object cache'; ok blessed $obj, 'constructor returned blessed reference'; @@ -30,6 +30,12 @@ is $obj->end_tag({ name => 'test' }), '', 'end_tag'; ok $obj->set_value('test'), 'set_value'; is $obj->get_value(), 'test', 'get_value'; +is Storable::thaw(Storable::freeze($obj))->get_value, $obj->get_value(), + 'frozen/thawed object keeps value'; + +is Storable::thaw(Storable::freeze($obj))->serialize, $obj->serialize(), + 'frozen/thawed object serialize is same as original (overload works)'; + ok ! $obj->attr(), 'attr'; is "$obj", q{test}, 'stringification overloading'; diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/duration.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/duration.t new file mode 100644 index 0000000..9c8a471 --- /dev/null +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/duration.t @@ -0,0 +1,12 @@ +use Test::More tests => 5; +use strict; +use warnings; +use SOAP::WSDL::XSD::Typelib::Builtin::duration; +my $obj = SOAP::WSDL::XSD::Typelib::Builtin::duration->new(); +ok defined $obj; +ok $obj->set_value('27'); +ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::duration->new({ value => 'P1347Y'}); + +is "$obj", 'P1347Y', 'stringification'; + +ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance'; \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/gDay.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/gDay.t new file mode 100644 index 0000000..0213f5b --- /dev/null +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/gDay.t @@ -0,0 +1,12 @@ +use Test::More tests => 6; +use strict; +use warnings; +use SOAP::WSDL::XSD::Typelib::Builtin::gDay; +my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gDay->new(); +ok defined $obj; +ok $obj->set_value('27'); +ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gDay->new({ value => 27 }); +is $obj * 1, 27, 'numerification'; +is "$obj", "27", 'stringification'; + +ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance'; \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.t new file mode 100644 index 0000000..be42772 --- /dev/null +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.t @@ -0,0 +1,12 @@ +use Test::More tests => 6; +use strict; +use warnings; +use SOAP::WSDL::XSD::Typelib::Builtin::gMonth; +my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gMonth->new(); +ok defined $obj; +ok $obj->set_value('12'); +ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gMonth->new({ value => 12 }); +is $obj * 1, 12, 'numerification'; +is "$obj", "12", 'stringification'; + +ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance'; \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.t new file mode 100644 index 0000000..5e2be3e --- /dev/null +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.t @@ -0,0 +1,11 @@ +use Test::More tests => 5; +use strict; +use warnings; +use SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay; +my $gMonthDay = SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay->new(); +ok defined $gMonthDay; +ok $gMonthDay->set_value('12-27'); +ok $gMonthDay = SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay->new({ value => '12-27' }); +is "$gMonthDay", "12-27", 'stringification'; + +ok $gMonthDay->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance'; \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/gYear.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/gYear.t new file mode 100644 index 0000000..a7c4315 --- /dev/null +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/gYear.t @@ -0,0 +1,12 @@ +use Test::More tests => 6; +use strict; +use warnings; +use SOAP::WSDL::XSD::Typelib::Builtin::gYear; +my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYear->new(); +ok defined $obj; +ok $obj->set_value('1271'); +ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYear->new({ value => 1271 }); +is $obj * 1, 1271, 'numerification'; +is "$obj", "1271", 'stringification'; + +ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance'; \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.t b/t/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.t new file mode 100644 index 0000000..62b91c0 --- /dev/null +++ b/t/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.t @@ -0,0 +1,11 @@ +use Test::More tests => 5; +use strict; +use warnings; +use SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth; +my $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth->new(); +ok defined $obj; +ok $obj->set_value('1271'); +ok $obj = SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth->new({ value => '1271-12' }); +is "$obj", "1271-12", 'stringification'; + +ok $obj->isa('SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType'), 'inheritance'; \ No newline at end of file diff --git a/t/SOAP/WSDL/XSD/Typelib/ComplexType.t b/t/SOAP/WSDL/XSD/Typelib/ComplexType.t index baebbfd..df9b5a7 100644 --- a/t/SOAP/WSDL/XSD/Typelib/ComplexType.t +++ b/t/SOAP/WSDL/XSD/Typelib/ComplexType.t @@ -337,8 +337,12 @@ ok ! UNIVERSAL::can('MyType', 'set_FOO'), 'UNIVERSAL::can("MyTypes", "set_FOO")' eval { MyType->new({ FOO => 42 }) }; like $@, qr{unknown \s field \s}xm, 'error passing unknown field to constructor'; -eval { SOAP::WSDL::XSD::Typelib::ComplexType::AUTOMETHOD() }; -like $@, qr{Cannot \s call}xm; +eval { + # catch warning - + local $SIG{__WARN__} = sub {}; + SOAP::WSDL::XSD::Typelib::ComplexType::AUTOMETHOD() +}; +like $@, qr{Cannot \s call}xm, 'error calling AUTOMETHOD as function'; eval { SOAP::WSDL::XSD::Typelib::ComplexType->_factory([], { test => {} }, {}) }; like $@, qr{ No \s class \s given \s for \s }xms; diff --git a/t/acceptance/wsdl/generator_test.wsdl b/t/acceptance/wsdl/generator_test.wsdl index 8f9365c..14e8e78 100644 --- a/t/acceptance/wsdl/generator_test.wsdl +++ b/t/acceptance/wsdl/generator_test.wsdl @@ -5,6 +5,7 @@ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:foobar="http://foo.bar" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"> @@ -272,6 +273,14 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm + + + + + + + + @@ -314,6 +323,10 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm + + + + @@ -332,44 +345,42 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm - - Test-Methode - + test method - - Test-Methode - + Header test method - - Test-Methode - + choice/restriction test method - - Test-Methode - + multipart warning test method - - + empty complex type test method + + + + + + restriction complex type test method + + - + - @@ -414,8 +425,17 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm + + + + + + + + + - + @@ -424,7 +444,7 @@ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xm - + diff --git a/t/acceptance/wsdl/import.xsd b/t/acceptance/wsdl/import.xsd index 2cb72d4..c4a3ebf 100644 --- a/t/acceptance/wsdl/import.xsd +++ b/t/acceptance/wsdl/import.xsd @@ -1,10 +1,12 @@ + xmlns:s="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/2001/XMLSchema"> + + type="string" /> diff --git a/t/covered-by.txt b/t/covered-by.txt new file mode 100644 index 0000000..49102ff --- /dev/null +++ b/t/covered-by.txt @@ -0,0 +1,970 @@ +File: ./002_parse_wsdl.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +002_parse_wsdl.t + +File: ./003_wsdl_based_serializer.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: ./006_client.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Transport/Loopback.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +006_client.t + +File: ./008_client_wsdl_complexType.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm + +File: ./009_data_classes.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +009_data_classes.t +lib/Typelib/Base.pm + +File: ./011_simpleType.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm + +File: ./012_element.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +lib/MyElement.pm + +File: ./013_complexType.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +lib/MyComplexType.pm +lib/MyElement.pm + +File: ./016_client_object.t +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +016_client_object.t +lib/MyElement.pm + +File: ./020_storable.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: Expat/03_wsdl.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +Expat/03_wsdl.t + +File: SOAP/WSDL.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/02_port.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/03_complexType-all.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/03_complexType-choice.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Client.pm + +File: SOAP/WSDL/03_complexType-complexContent.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Client.pm + +File: SOAP/WSDL/03_complexType-element-ref.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/03_complexType-group.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Client.pm + +File: SOAP/WSDL/03_complexType-sequence.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/03_complexType-simpleContent.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Client.pm + +File: SOAP/WSDL/04_element-simpleType.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/04_element.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/05_simpleType-list.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/05_simpleType-restriction.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/06_keep_alive.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/11_helloworld.NET.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm + +File: SOAP/WSDL/12_binding.t +../lib/SOAP/WSDL.pm +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/Client.t +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Factory/Transport.pm +SOAP/WSDL/Client.t + +File: SOAP/WSDL/Client/Base.t +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Client/Base.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm + +File: SOAP/WSDL/Definitions.t +../lib/SOAP/WSDL/Base.pm + +File: SOAP/WSDL/Deserializer/Hash.t +../lib/SOAP/WSDL/Deserializer/Hash.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/Message2Hash.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm + +File: SOAP/WSDL/Deserializer/SOM.t +../lib/SOAP/WSDL/Deserializer/SOM.pm + +File: SOAP/WSDL/Deserializer/XSD.t +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +SOAP/WSDL/Deserializer/XSD.t + +File: SOAP/WSDL/Expat/Base.t +../lib/SOAP/WSDL/Expat/Base.pm + +File: SOAP/WSDL/Expat/MessageParser.t +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +../lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +SOAP/WSDL/Expat/MessageParser.t +lib/MyElement.pm + +File: SOAP/WSDL/Expat/WSDLParser.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm + +File: SOAP/WSDL/Factory/Deserializer.t +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm + +File: SOAP/WSDL/Factory/Serializer.t +../lib/SOAP/WSDL/Factory/Serializer.pm + +File: SOAP/WSDL/Factory/Transport.t +../lib/SOAP/WSDL/Factory/Transport.pm + +File: SOAP/WSDL/Generator/Template.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/Generator/Template/XSD/Import.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm + +File: SOAP/WSDL/Generator/Visitor.t +../lib/SOAP/WSDL/Generator/Visitor.pm + +File: SOAP/WSDL/Generator/Visitor/Typemap.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/Generator/XSD.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Client/Base.pm +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Transport/Loopback.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm + +File: SOAP/WSDL/Generator/XSD_custom_resolver.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +SOAP/WSDL/Generator/XSD_custom_resolver.t + +File: SOAP/WSDL/Generator/XSD_dot_names.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm + +File: SOAP/WSDL/Generator/XSD_nested_complextype.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +SOAP/WSDL/Generator/XSD_nested_complextype.t + +File: SOAP/WSDL/Generator/XSD_unsupported.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm + +File: SOAP/WSDL/Part.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Part.pm +SOAP/WSDL/Part.t + +File: SOAP/WSDL/PortType.t +../lib/SOAP/WSDL/Base.pm + +File: SOAP/WSDL/Serializer/XSD.t +../lib/SOAP/WSDL/Serializer/XSD.pm +SOAP/WSDL/Serializer/XSD.t + +File: SOAP/WSDL/Server.t +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Server.pm +SOAP/WSDL/Server.t + +File: SOAP/WSDL/Server/CGI.t +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Server.pm +../lib/SOAP/WSDL/Server/CGI.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +SOAP/WSDL/Server/CGI.t + +File: SOAP/WSDL/Server/Mod_Perl2.t +../example/lib/MyElements/sayHello.pm +../example/lib/MyElements/sayHelloResponse.pm +../example/lib/MyServer/HelloWorld/HelloWorldSoap.pm +../example/lib/MyTypemaps/HelloWorld.pm +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Server.pm +../lib/SOAP/WSDL/Server/Mod_Perl2.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +lib/Mod_Perl2Test.pm + +File: SOAP/WSDL/Transport/01_Test.t +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Factory/Transport.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Transport/Test.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm + +File: SOAP/WSDL/Transport/HTTP.t +../lib/SOAP/WSDL/Transport/HTTP.pm + +File: SOAP/WSDL/Typelib/Fault11.t +../lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm + +File: SOAP/WSDL/Types.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm + +File: SOAP/WSDL/XSD/Attribute.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm + +File: SOAP/WSDL/XSD/Builtin.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/XSD/Builtin.pm + +File: SOAP/WSDL/XSD/ComplexType.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm + +File: SOAP/WSDL/XSD/Element.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/XSD/Element.pm +SOAP/WSDL/XSD/Element.t + +File: SOAP/WSDL/XSD/Enumeration.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/XSD/Schema.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/XSD/Schema.pm + +File: SOAP/WSDL/XSD/SimpleType.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/XSD/Typelib/Attribute.t +../lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +SOAP/WSDL/XSD/Typelib/Attribute.t + +File: SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/ID.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/IDREF.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/NCName.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm + +File: SOAP/WSDL/XSD/Typelib/Builtin/list.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm + +File: SOAP/WSDL/XSD/Typelib/ComplexType.t +../lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +../lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +SOAP/WSDL/XSD/Typelib/ComplexType.t + +File: SOAP/WSDL/XSD/Typelib/Element.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm + + +File: Expat/03_wsdl.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Part.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/Builtin.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +Expat/03_wsdl.t + +File: SOAP/WSDL/Client.t +../lib/SOAP/WSDL/Client.pm +../lib/SOAP/WSDL/Factory/Transport.pm +SOAP/WSDL/Client.t + +File: SOAP/WSDL/Deserializer/XSD.t +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +SOAP/WSDL/Deserializer/XSD.t + +File: SOAP/WSDL/Expat/MessageParser.t +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +../lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +SOAP/WSDL/Expat/MessageParser.t +lib/MyElement.pm + +File: SOAP/WSDL/Generator/Visitor/Typemap.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm + +File: SOAP/WSDL/Generator/XSD_custom_resolver.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/SimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +SOAP/WSDL/Generator/XSD_custom_resolver.t + +File: SOAP/WSDL/Generator/XSD_nested_complextype.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Expat/WSDLParser.pm +../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +../lib/SOAP/WSDL/Generator/PrefixResolver.pm +../lib/SOAP/WSDL/Generator/Template.pm +../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +../lib/SOAP/WSDL/Generator/Template/XSD.pm +../lib/SOAP/WSDL/Generator/Visitor.pm +../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +../lib/SOAP/WSDL/TypeLookup.pm +../lib/SOAP/WSDL/Types.pm +../lib/SOAP/WSDL/XSD/ComplexType.pm +../lib/SOAP/WSDL/XSD/Element.pm +../lib/SOAP/WSDL/XSD/Schema.pm +../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +SOAP/WSDL/Generator/XSD_nested_complextype.t + +File: SOAP/WSDL/Part.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/Part.pm +SOAP/WSDL/Part.t + +File: SOAP/WSDL/Serializer/XSD.t +../lib/SOAP/WSDL/Serializer/XSD.pm +SOAP/WSDL/Serializer/XSD.t + +File: SOAP/WSDL/Server.t +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Server.pm +SOAP/WSDL/Server.t + +File: SOAP/WSDL/Server/CGI.t +../lib/SOAP/WSDL/Deserializer/XSD.pm +../lib/SOAP/WSDL/Expat/Base.pm +../lib/SOAP/WSDL/Expat/MessageParser.pm +../lib/SOAP/WSDL/Factory/Deserializer.pm +../lib/SOAP/WSDL/Factory/Serializer.pm +../lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm +../lib/SOAP/WSDL/Serializer/XSD.pm +../lib/SOAP/WSDL/Server.pm +../lib/SOAP/WSDL/Server/CGI.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +SOAP/WSDL/Server/CGI.t + +File: SOAP/WSDL/XSD/Element.t +../lib/SOAP/WSDL/Base.pm +../lib/SOAP/WSDL/XSD/Element.pm +SOAP/WSDL/XSD/Element.t + +File: SOAP/WSDL/XSD/Typelib/Attribute.t +../lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +SOAP/WSDL/XSD/Typelib/Attribute.t + +File: SOAP/WSDL/XSD/Typelib/Builtin/date.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/date.pm +SOAP/WSDL/XSD/Typelib/Builtin/date.t + +File: SOAP/WSDL/XSD/Typelib/Builtin/dateTime.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm +SOAP/WSDL/XSD/Typelib/Builtin/dateTime.t + +File: SOAP/WSDL/XSD/Typelib/Builtin/time.t +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm +SOAP/WSDL/XSD/Typelib/Builtin/time.t + +File: SOAP/WSDL/XSD/Typelib/ComplexType.t +../lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +../lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +../lib/SOAP/WSDL/XSD/Typelib/Element.pm +SOAP/WSDL/XSD/Typelib/ComplexType.t + + diff --git a/t/covered.txt b/t/covered.txt new file mode 100644 index 0000000..51c78a8 --- /dev/null +++ b/t/covered.txt @@ -0,0 +1,746 @@ +File: * Covered files * + +File: ../lib/SOAP/WSDL.pm +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-choice.t +SOAP/WSDL/03_complexType-complexContent.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-group.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/03_complexType-simpleContent.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t + +File: ../lib/SOAP/WSDL/Base.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Definitions.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t +SOAP/WSDL/Part.t +SOAP/WSDL/PortType.t +SOAP/WSDL/Types.t +SOAP/WSDL/XSD/Attribute.t +SOAP/WSDL/XSD/Builtin.t +SOAP/WSDL/XSD/ComplexType.t +SOAP/WSDL/XSD/Element.t +SOAP/WSDL/XSD/Enumeration.t +SOAP/WSDL/XSD/Schema.t +SOAP/WSDL/XSD/SimpleType.t + +File: ../lib/SOAP/WSDL/Client.pm +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +./016_client_object.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-choice.t +SOAP/WSDL/03_complexType-complexContent.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-group.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/03_complexType-simpleContent.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Client.t +SOAP/WSDL/Client/Base.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Transport/01_Test.t + +File: ../lib/SOAP/WSDL/Client/Base.pm +SOAP/WSDL/Client/Base.t +SOAP/WSDL/Generator/XSD.t + +File: ../lib/SOAP/WSDL/Deserializer/XSD.pm +./016_client_object.t +SOAP/WSDL/Deserializer/XSD.t +SOAP/WSDL/Factory/Deserializer.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Transport/01_Test.t + +File: ../lib/SOAP/WSDL/Expat/Base.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +./016_client_object.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Deserializer/Hash.t +SOAP/WSDL/Deserializer/XSD.t +SOAP/WSDL/Expat/Base.t +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/XSD/Attribute.t +SOAP/WSDL/XSD/Enumeration.t + +File: ../lib/SOAP/WSDL/Expat/MessageParser.pm +./009_data_classes.t +./016_client_object.t +SOAP/WSDL/Deserializer/XSD.t +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t + +File: ../lib/SOAP/WSDL/Expat/WSDLParser.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t +SOAP/WSDL/XSD/Attribute.t +SOAP/WSDL/XSD/Enumeration.t + +File: ../lib/SOAP/WSDL/Factory/Deserializer.pm +./016_client_object.t +SOAP/WSDL/Deserializer/Hash.t +SOAP/WSDL/Factory/Deserializer.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Transport/01_Test.t + +File: ../lib/SOAP/WSDL/Factory/Serializer.pm +./006_client.t +./016_client_object.t +SOAP/WSDL.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Factory/Serializer.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Server.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Transport/01_Test.t + +File: ../lib/SOAP/WSDL/Factory/Transport.pm +./006_client.t +./016_client_object.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Client.t +SOAP/WSDL/Factory/Transport.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Transport/01_Test.t + +File: ../lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t + +File: ../lib/SOAP/WSDL/Generator/PrefixResolver.pm +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t + +File: ../lib/SOAP/WSDL/Generator/Template.pm +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t + +File: ../lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t + +File: ../lib/SOAP/WSDL/Generator/Template/XSD.pm +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t + +File: ../lib/SOAP/WSDL/Generator/Visitor.pm +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Visitor.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t + +File: ../lib/SOAP/WSDL/Generator/Visitor/Typemap.pm +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t + +File: ../lib/SOAP/WSDL/Part.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Part.t + +File: ../lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Typelib/Fault11.t + +File: ../lib/SOAP/WSDL/Serializer/XSD.pm +./006_client.t +./007_envelope.t +./016_client_object.t +SOAP/WSDL.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Serializer/XSD.t +SOAP/WSDL/Server.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Transport/01_Test.t + +File: ../lib/SOAP/WSDL/Server.pm +SOAP/WSDL/Server.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t + +File: ../lib/SOAP/WSDL/Transport/Loopback.pm +./006_client.t +SOAP/WSDL/Generator/XSD.t + +File: ../lib/SOAP/WSDL/TypeLookup.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t +SOAP/WSDL/XSD/Attribute.t +SOAP/WSDL/XSD/Enumeration.t + +File: ../lib/SOAP/WSDL/Types.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t +SOAP/WSDL/Types.t + +File: ../lib/SOAP/WSDL/XSD/Builtin.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/XSD/Builtin.t + +File: ../lib/SOAP/WSDL/XSD/ComplexType.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/XSD/Attribute.t +SOAP/WSDL/XSD/ComplexType.t + +File: ../lib/SOAP/WSDL/XSD/Element.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/XSD/Attribute.t +SOAP/WSDL/XSD/Element.t + +File: ../lib/SOAP/WSDL/XSD/Schema.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t +SOAP/WSDL/Types.t +SOAP/WSDL/XSD/Attribute.t +SOAP/WSDL/XSD/Enumeration.t +SOAP/WSDL/XSD/Schema.t + +File: ../lib/SOAP/WSDL/XSD/Schema/Builtin.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./008_client_wsdl_complexType.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL.t +SOAP/WSDL/02_port.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Expat/WSDLParser.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Generator/XSD_unsupported.t +SOAP/WSDL/Types.t + +File: ../lib/SOAP/WSDL/XSD/SimpleType.pm +./002_parse_wsdl.t +./003_wsdl_based_serializer.t +./006_client.t +./009_data_classes.t +Expat/03_wsdl.t +SOAP/WSDL/02_port.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/06_keep_alive.t +SOAP/WSDL/12_binding.t +SOAP/WSDL/Generator/Template.t +SOAP/WSDL/Generator/Visitor/Typemap.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/XSD/Enumeration.t +SOAP/WSDL/XSD/SimpleType.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/Attribute.pm +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/XSD/Typelib/Attribute.t +SOAP/WSDL/XSD/Typelib/ComplexType.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/XSD/Typelib/ComplexType.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm +./006_client.t +./009_data_classes.t +./011_simpleType.t +./012_element.t +./013_complexType.t +./016_client_object.t +./020_storable.t +SOAP/WSDL.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Client/Base.t +SOAP/WSDL/Deserializer/Hash.t +SOAP/WSDL/Deserializer/XSD.t +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Transport/01_Test.t +SOAP/WSDL/Typelib/Fault11.t +SOAP/WSDL/XSD/Typelib/Attribute.t +SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t +SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.t +SOAP/WSDL/XSD/Typelib/Builtin/ID.t +SOAP/WSDL/XSD/Typelib/Builtin/IDREF.t +SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.t +SOAP/WSDL/XSD/Typelib/Builtin/NCName.t +SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.t +SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.t +SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.t +SOAP/WSDL/XSD/Typelib/Builtin/Name.t +SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t +SOAP/WSDL/XSD/Typelib/Builtin/anyURI.t +SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.t +SOAP/WSDL/XSD/Typelib/Builtin/boolean.t +SOAP/WSDL/XSD/Typelib/Builtin/byte.t +SOAP/WSDL/XSD/Typelib/Builtin/date.t +SOAP/WSDL/XSD/Typelib/Builtin/dateTime.t +SOAP/WSDL/XSD/Typelib/Builtin/decimal.t +SOAP/WSDL/XSD/Typelib/Builtin/double.t +SOAP/WSDL/XSD/Typelib/Builtin/float.t +SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.t +SOAP/WSDL/XSD/Typelib/Builtin/int.t +SOAP/WSDL/XSD/Typelib/Builtin/integer.t +SOAP/WSDL/XSD/Typelib/Builtin/language.t +SOAP/WSDL/XSD/Typelib/Builtin/list.t +SOAP/WSDL/XSD/Typelib/Builtin/long.t +SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.t +SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/short.t +SOAP/WSDL/XSD/Typelib/Builtin/string.t +SOAP/WSDL/XSD/Typelib/Builtin/time.t +SOAP/WSDL/XSD/Typelib/Builtin/token.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.t +SOAP/WSDL/XSD/Typelib/ComplexType.t +SOAP/WSDL/XSD/Typelib/Element.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm +./006_client.t +./011_simpleType.t +./012_element.t +./013_complexType.t +./016_client_object.t +./020_storable.t +SOAP/WSDL.t +SOAP/WSDL/03_complexType-all.t +SOAP/WSDL/03_complexType-element-ref.t +SOAP/WSDL/03_complexType-sequence.t +SOAP/WSDL/04_element-simpleType.t +SOAP/WSDL/04_element.t +SOAP/WSDL/05_simpleType-list.t +SOAP/WSDL/05_simpleType-restriction.t +SOAP/WSDL/11_helloworld.NET.t +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Typelib/Fault11.t +SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.t +SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.t +SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t +SOAP/WSDL/XSD/Typelib/Builtin/anyType.t +SOAP/WSDL/XSD/Typelib/Builtin/boolean.t +SOAP/WSDL/XSD/Typelib/Builtin/list.t +SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.t +SOAP/WSDL/XSD/Typelib/Builtin/string.t +SOAP/WSDL/XSD/Typelib/ComplexType.t +SOAP/WSDL/XSD/Typelib/Element.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/Builtin/decimal.pm +SOAP/WSDL/XSD/Typelib/Builtin/byte.t +SOAP/WSDL/XSD/Typelib/Builtin/decimal.t +SOAP/WSDL/XSD/Typelib/Builtin/int.t +SOAP/WSDL/XSD/Typelib/Builtin/integer.t +SOAP/WSDL/XSD/Typelib/Builtin/long.t +SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.t +SOAP/WSDL/XSD/Typelib/Builtin/short.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.t +SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm +./011_simpleType.t +SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.t +SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.t +SOAP/WSDL/XSD/Typelib/Builtin/list.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +./012_element.t +./013_complexType.t +./016_client_object.t +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Typelib/Fault11.t +SOAP/WSDL/XSD/Typelib/Attribute.t +SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.t +SOAP/WSDL/XSD/Typelib/Builtin/ID.t +SOAP/WSDL/XSD/Typelib/Builtin/IDREF.t +SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.t +SOAP/WSDL/XSD/Typelib/Builtin/NCName.t +SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.t +SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.t +SOAP/WSDL/XSD/Typelib/Builtin/Name.t +SOAP/WSDL/XSD/Typelib/Builtin/language.t +SOAP/WSDL/XSD/Typelib/Builtin/list.t +SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.t +SOAP/WSDL/XSD/Typelib/Builtin/string.t +SOAP/WSDL/XSD/Typelib/Builtin/token.t +SOAP/WSDL/XSD/Typelib/ComplexType.t +SOAP/WSDL/XSD/Typelib/Element.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm +./012_element.t +./013_complexType.t +./016_client_object.t +SOAP/WSDL/Deserializer/Hash.t +SOAP/WSDL/Deserializer/XSD.t +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Factory/Deserializer.t +SOAP/WSDL/Generator/Template/XSD/Import.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Generator/XSD_custom_resolver.t +SOAP/WSDL/Generator/XSD_dot_names.t +SOAP/WSDL/Generator/XSD_nested_complextype.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Transport/01_Test.t +SOAP/WSDL/Typelib/Fault11.t +SOAP/WSDL/XSD/Typelib/ComplexType.t + +File: ../lib/SOAP/WSDL/XSD/Typelib/Element.pm +./012_element.t +./013_complexType.t +./016_client_object.t +SOAP/WSDL/Expat/MessageParser.t +SOAP/WSDL/Generator/XSD.t +SOAP/WSDL/Server/CGI.t +SOAP/WSDL/Server/Mod_Perl2.t +SOAP/WSDL/Typelib/Fault11.t +SOAP/WSDL/XSD/Typelib/ComplexType.t +SOAP/WSDL/XSD/Typelib/Element.t + +File: lib/MyElement.pm +./012_element.t +./013_complexType.t +./016_client_object.t +SOAP/WSDL/Expat/MessageParser.t + diff --git a/t/covered/covered-0.01.db b/t/covered/covered-0.01.db new file mode 100644 index 0000000..30a1d2b Binary files /dev/null and b/t/covered/covered-0.01.db differ