import SOAP-WSDL 2.00.05 from CPAN
git-cpan-module: SOAP-WSDL git-cpan-version: 2.00.05 git-cpan-authorid: MKUTTER git-cpan-file: authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.05.tar.gz
This commit is contained in:
committed by
Michael G. Schwern
parent
c3e3d1908e
commit
c2ac24dd0f
2
Build.PL
2
Build.PL
@@ -5,7 +5,7 @@ $build = Module::Build->new(
|
|||||||
create_makefile_pl => 'small',
|
create_makefile_pl => 'small',
|
||||||
dist_abstract => 'SOAP with WSDL support',
|
dist_abstract => 'SOAP with WSDL support',
|
||||||
dist_name => 'SOAP-WSDL',
|
dist_name => 'SOAP-WSDL',
|
||||||
dist_version => '2.00.04',
|
dist_version => '2.00.05',
|
||||||
module_name => 'SOAP::WSDL',
|
module_name => 'SOAP::WSDL',
|
||||||
license => 'artistic',
|
license => 'artistic',
|
||||||
requires => {
|
requires => {
|
||||||
|
|||||||
23
Changes
23
Changes
@@ -1,4 +1,4 @@
|
|||||||
Release notes for SOAP::WSDL 2.00.04
|
Release notes for SOAP::WSDL 2.00.05
|
||||||
-------
|
-------
|
||||||
|
|
||||||
I'm proud to present a new release of SOAP::WSDL.
|
I'm proud to present a new release of SOAP::WSDL.
|
||||||
@@ -36,6 +36,26 @@ Features:
|
|||||||
|
|
||||||
The following changes have been made:
|
The following changes have been made:
|
||||||
|
|
||||||
|
2.00.05
|
||||||
|
|
||||||
|
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/).
|
||||||
|
|
||||||
|
* [ 2014482 ] Big-O memory hole when parsing WSDL
|
||||||
|
SOAP::WSDL still leaks memory when using SOAP::Lite's transport backend
|
||||||
|
This is to be fixed in 0.710.08 in SOAP::Lite
|
||||||
|
* #36865 wsdl2perl.pl fails on Expat error
|
||||||
|
Resolved by dropping a note for Solaris in README
|
||||||
|
* [ 2005693 ] <maxLength fixed ="true"> causes error
|
||||||
|
The >fixed< attribute is now recognized (but has no effect yet)
|
||||||
|
|
||||||
|
The following uncategorized improvements have been made:
|
||||||
|
|
||||||
|
* added missing Class::Std::Storable::Fast import flags to
|
||||||
|
SOAP::WSDL::XSD::Typelib::Builtin::IDREFS
|
||||||
|
* some code cleanup
|
||||||
|
|
||||||
2.00.04
|
2.00.04
|
||||||
|
|
||||||
The following bugs have been fixed (the numbers in square brackets are the
|
The following bugs have been fixed (the numbers in square brackets are the
|
||||||
@@ -77,6 +97,7 @@ 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):
|
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
|
||||||
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).
|
The numbers with # are CPAN RT IDs (http://rt.cpan.org/).
|
||||||
|
|
||||||
|
* [ 1963613 ] ComplexTypes die on ->can('FOOBAR');
|
||||||
* [ 1943667 ] Error parsing complexType/extension
|
* [ 1943667 ] Error parsing complexType/extension
|
||||||
* [ 1960650 ] multi-level inheritance of complexTypes fails
|
* [ 1960650 ] multi-level inheritance of complexTypes fails
|
||||||
* [ 1960319 ] ComplexType as_hash_ref returns objects on maximum depth
|
* [ 1960319 ] ComplexType as_hash_ref returns objects on maximum depth
|
||||||
|
|||||||
13
MANIFEST
13
MANIFEST
@@ -13,6 +13,8 @@ benchmark/XSD/strftime.pl
|
|||||||
bin/wsdl2perl.pl
|
bin/wsdl2perl.pl
|
||||||
Build.PL
|
Build.PL
|
||||||
Changes
|
Changes
|
||||||
|
covered_by.pl
|
||||||
|
covering.pl
|
||||||
example/cgi-bin/helloworld.pl
|
example/cgi-bin/helloworld.pl
|
||||||
example/cgi-bin/person.pl
|
example/cgi-bin/person.pl
|
||||||
example/fortune.pl
|
example/fortune.pl
|
||||||
@@ -20,6 +22,9 @@ example/genericbarcode.pl
|
|||||||
example/hello.pl
|
example/hello.pl
|
||||||
example/hello_compile.pl
|
example/hello_compile.pl
|
||||||
example/hello_lite.pl
|
example/hello_lite.pl
|
||||||
|
example/leaktest/hello_wsdl.pl
|
||||||
|
example/leaktest/leak.pl
|
||||||
|
example/leaktest/parse.pl
|
||||||
example/lib/MyElements/CountCookies.pm
|
example/lib/MyElements/CountCookies.pm
|
||||||
example/lib/MyElements/CountCookiesResponse.pm
|
example/lib/MyElements/CountCookiesResponse.pm
|
||||||
example/lib/MyElements/GenerateBarCode.pm
|
example/lib/MyElements/GenerateBarCode.pm
|
||||||
@@ -270,8 +275,6 @@ MANIFEST This list of files
|
|||||||
META.yml
|
META.yml
|
||||||
MIGRATING
|
MIGRATING
|
||||||
README
|
README
|
||||||
SOAP-WSDL-2.00.01.ppd
|
|
||||||
SOAP-WSDL-2.00.01.zip
|
|
||||||
t/002_parse_wsdl.t
|
t/002_parse_wsdl.t
|
||||||
t/003_wsdl_based_serializer.t
|
t/003_wsdl_based_serializer.t
|
||||||
t/006_client.t
|
t/006_client.t
|
||||||
@@ -281,6 +284,7 @@ t/011_simpleType.t
|
|||||||
t/012_element.t
|
t/012_element.t
|
||||||
t/013_complexType.t
|
t/013_complexType.t
|
||||||
t/016_client_object.t
|
t/016_client_object.t
|
||||||
|
t/094_cpan_meta.t
|
||||||
t/095_copying.t
|
t/095_copying.t
|
||||||
t/096_characters.t
|
t/096_characters.t
|
||||||
t/097_kwalitee.t
|
t/097_kwalitee.t
|
||||||
@@ -332,9 +336,6 @@ t/acceptance/wsdl/WSDLParser/imported.xsd
|
|||||||
t/acceptance/wsdl/WSDLParser/xsd_import_no_location.wsdl
|
t/acceptance/wsdl/WSDLParser/xsd_import_no_location.wsdl
|
||||||
t/acceptance/wsdl/WSDLParser_import_loop.wsdl
|
t/acceptance/wsdl/WSDLParser_import_loop.wsdl
|
||||||
t/contributed.wsdl
|
t/contributed.wsdl
|
||||||
t/covered-by.txt
|
|
||||||
t/covered.txt
|
|
||||||
t/covered/covered-0.01.db
|
|
||||||
t/lib/Mod_Perl2Test.pm
|
t/lib/Mod_Perl2Test.pm
|
||||||
t/lib/MyComplexType.pm
|
t/lib/MyComplexType.pm
|
||||||
t/lib/MyElement.pm
|
t/lib/MyElement.pm
|
||||||
@@ -364,6 +365,7 @@ t/SOAP/WSDL/05_simpleType-union.t
|
|||||||
t/SOAP/WSDL/06_keep_alive.t
|
t/SOAP/WSDL/06_keep_alive.t
|
||||||
t/SOAP/WSDL/11_helloworld.NET.t
|
t/SOAP/WSDL/11_helloworld.NET.t
|
||||||
t/SOAP/WSDL/12_binding.t
|
t/SOAP/WSDL/12_binding.t
|
||||||
|
t/SOAP/WSDL/Base.t
|
||||||
t/SOAP/WSDL/Client.t
|
t/SOAP/WSDL/Client.t
|
||||||
t/SOAP/WSDL/Client/Base.t
|
t/SOAP/WSDL/Client/Base.t
|
||||||
t/SOAP/WSDL/Definitions.t
|
t/SOAP/WSDL/Definitions.t
|
||||||
@@ -461,4 +463,5 @@ t/SOAP/WSDL_NO_MESSAGE.wsdl
|
|||||||
t/SOAP/WSDL_NO_PORTTYPE.wsdl
|
t/SOAP/WSDL_NO_PORTTYPE.wsdl
|
||||||
t/test.wsdl
|
t/test.wsdl
|
||||||
TEST_COVERAGE
|
TEST_COVERAGE
|
||||||
|
test_html.pl
|
||||||
TODO
|
TODO
|
||||||
|
|||||||
162
META.yml
162
META.yml
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: SOAP-WSDL
|
name: SOAP-WSDL
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
author:
|
author:
|
||||||
- 'Martin Kutter <martin.kutter@fen-net.de>'
|
- 'Martin Kutter <martin.kutter@fen-net.de>'
|
||||||
abstract: SOAP with WSDL support
|
abstract: SOAP with WSDL support
|
||||||
@@ -41,220 +41,220 @@ build_requires:
|
|||||||
provides:
|
provides:
|
||||||
SOAP::WSDL:
|
SOAP::WSDL:
|
||||||
file: lib/SOAP/WSDL.pm
|
file: lib/SOAP/WSDL.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Base:
|
SOAP::WSDL::Base:
|
||||||
file: lib/SOAP/WSDL/Base.pm
|
file: lib/SOAP/WSDL/Base.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Binding:
|
SOAP::WSDL::Binding:
|
||||||
file: lib/SOAP/WSDL/Binding.pm
|
file: lib/SOAP/WSDL/Binding.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Client:
|
SOAP::WSDL::Client:
|
||||||
file: lib/SOAP/WSDL/Client.pm
|
file: lib/SOAP/WSDL/Client.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Client::Base:
|
SOAP::WSDL::Client::Base:
|
||||||
file: lib/SOAP/WSDL/Client/Base.pm
|
file: lib/SOAP/WSDL/Client/Base.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Definitions:
|
SOAP::WSDL::Definitions:
|
||||||
file: lib/SOAP/WSDL/Definitions.pm
|
file: lib/SOAP/WSDL/Definitions.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Deserializer::Hash:
|
SOAP::WSDL::Deserializer::Hash:
|
||||||
file: lib/SOAP/WSDL/Deserializer/Hash.pm
|
file: lib/SOAP/WSDL/Deserializer/Hash.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Deserializer::SOM:
|
SOAP::WSDL::Deserializer::SOM:
|
||||||
file: lib/SOAP/WSDL/Deserializer/SOM.pm
|
file: lib/SOAP/WSDL/Deserializer/SOM.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Deserializer::XSD:
|
SOAP::WSDL::Deserializer::XSD:
|
||||||
file: lib/SOAP/WSDL/Deserializer/XSD.pm
|
file: lib/SOAP/WSDL/Deserializer/XSD.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Expat::Base:
|
SOAP::WSDL::Expat::Base:
|
||||||
file: lib/SOAP/WSDL/Expat/Base.pm
|
file: lib/SOAP/WSDL/Expat/Base.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Expat::Message2Hash:
|
SOAP::WSDL::Expat::Message2Hash:
|
||||||
file: lib/SOAP/WSDL/Expat/Message2Hash.pm
|
file: lib/SOAP/WSDL/Expat/Message2Hash.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Expat::MessageParser:
|
SOAP::WSDL::Expat::MessageParser:
|
||||||
file: lib/SOAP/WSDL/Expat/MessageParser.pm
|
file: lib/SOAP/WSDL/Expat/MessageParser.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Expat::MessageStreamParser:
|
SOAP::WSDL::Expat::MessageStreamParser:
|
||||||
file: lib/SOAP/WSDL/Expat/MessageStreamParser.pm
|
file: lib/SOAP/WSDL/Expat/MessageStreamParser.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Expat::WSDLParser:
|
SOAP::WSDL::Expat::WSDLParser:
|
||||||
file: lib/SOAP/WSDL/Expat/WSDLParser.pm
|
file: lib/SOAP/WSDL/Expat/WSDLParser.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Factory::Deserializer:
|
SOAP::WSDL::Factory::Deserializer:
|
||||||
file: lib/SOAP/WSDL/Factory/Deserializer.pm
|
file: lib/SOAP/WSDL/Factory/Deserializer.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Factory::Generator:
|
SOAP::WSDL::Factory::Generator:
|
||||||
file: lib/SOAP/WSDL/Factory/Generator.pm
|
file: lib/SOAP/WSDL/Factory/Generator.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Factory::Serializer:
|
SOAP::WSDL::Factory::Serializer:
|
||||||
file: lib/SOAP/WSDL/Factory/Serializer.pm
|
file: lib/SOAP/WSDL/Factory/Serializer.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Factory::Transport:
|
SOAP::WSDL::Factory::Transport:
|
||||||
file: lib/SOAP/WSDL/Factory/Transport.pm
|
file: lib/SOAP/WSDL/Factory/Transport.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::Iterator::WSDL11:
|
SOAP::WSDL::Generator::Iterator::WSDL11:
|
||||||
file: lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm
|
file: lib/SOAP/WSDL/Generator/Iterator/WSDL11.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::PrefixResolver:
|
SOAP::WSDL::Generator::PrefixResolver:
|
||||||
file: lib/SOAP/WSDL/Generator/PrefixResolver.pm
|
file: lib/SOAP/WSDL/Generator/PrefixResolver.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::Template:
|
SOAP::WSDL::Generator::Template:
|
||||||
file: lib/SOAP/WSDL/Generator/Template.pm
|
file: lib/SOAP/WSDL/Generator/Template.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::Template::Plugin::XSD:
|
SOAP::WSDL::Generator::Template::Plugin::XSD:
|
||||||
file: lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm
|
file: lib/SOAP/WSDL/Generator/Template/Plugin/XSD.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::Template::XSD:
|
SOAP::WSDL::Generator::Template::XSD:
|
||||||
file: lib/SOAP/WSDL/Generator/Template/XSD.pm
|
file: lib/SOAP/WSDL/Generator/Template/XSD.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::Visitor:
|
SOAP::WSDL::Generator::Visitor:
|
||||||
file: lib/SOAP/WSDL/Generator/Visitor.pm
|
file: lib/SOAP/WSDL/Generator/Visitor.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::Visitor::Typelib:
|
SOAP::WSDL::Generator::Visitor::Typelib:
|
||||||
file: lib/SOAP/WSDL/Generator/Visitor/Typelib.pm
|
file: lib/SOAP/WSDL/Generator/Visitor/Typelib.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Generator::Visitor::Typemap:
|
SOAP::WSDL::Generator::Visitor::Typemap:
|
||||||
file: lib/SOAP/WSDL/Generator/Visitor/Typemap.pm
|
file: lib/SOAP/WSDL/Generator/Visitor/Typemap.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Message:
|
SOAP::WSDL::Message:
|
||||||
file: lib/SOAP/WSDL/Message.pm
|
file: lib/SOAP/WSDL/Message.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::OpMessage:
|
SOAP::WSDL::OpMessage:
|
||||||
file: lib/SOAP/WSDL/OpMessage.pm
|
file: lib/SOAP/WSDL/OpMessage.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Operation:
|
SOAP::WSDL::Operation:
|
||||||
file: lib/SOAP/WSDL/Operation.pm
|
file: lib/SOAP/WSDL/Operation.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Part:
|
SOAP::WSDL::Part:
|
||||||
file: lib/SOAP/WSDL/Part.pm
|
file: lib/SOAP/WSDL/Part.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Port:
|
SOAP::WSDL::Port:
|
||||||
file: lib/SOAP/WSDL/Port.pm
|
file: lib/SOAP/WSDL/Port.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::PortType:
|
SOAP::WSDL::PortType:
|
||||||
file: lib/SOAP/WSDL/PortType.pm
|
file: lib/SOAP/WSDL/PortType.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::SOAP::Address:
|
SOAP::WSDL::SOAP::Address:
|
||||||
file: lib/SOAP/WSDL/SOAP/Address.pm
|
file: lib/SOAP/WSDL/SOAP/Address.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::SOAP::Body:
|
SOAP::WSDL::SOAP::Body:
|
||||||
file: lib/SOAP/WSDL/SOAP/Body.pm
|
file: lib/SOAP/WSDL/SOAP/Body.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::SOAP::Header:
|
SOAP::WSDL::SOAP::Header:
|
||||||
file: lib/SOAP/WSDL/SOAP/Header.pm
|
file: lib/SOAP/WSDL/SOAP/Header.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::SOAP::HeaderFault:
|
SOAP::WSDL::SOAP::HeaderFault:
|
||||||
file: lib/SOAP/WSDL/SOAP/HeaderFault.pm
|
file: lib/SOAP/WSDL/SOAP/HeaderFault.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::SOAP::Operation:
|
SOAP::WSDL::SOAP::Operation:
|
||||||
file: lib/SOAP/WSDL/SOAP/Operation.pm
|
file: lib/SOAP/WSDL/SOAP/Operation.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::SOAP::Typelib::Fault11:
|
SOAP::WSDL::SOAP::Typelib::Fault11:
|
||||||
file: lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm
|
file: lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Serializer::XSD:
|
SOAP::WSDL::Serializer::XSD:
|
||||||
file: lib/SOAP/WSDL/Serializer/XSD.pm
|
file: lib/SOAP/WSDL/Serializer/XSD.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Server:
|
SOAP::WSDL::Server:
|
||||||
file: lib/SOAP/WSDL/Server.pm
|
file: lib/SOAP/WSDL/Server.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Server::CGI:
|
SOAP::WSDL::Server::CGI:
|
||||||
file: lib/SOAP/WSDL/Server/CGI.pm
|
file: lib/SOAP/WSDL/Server/CGI.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Server::Mod_Perl2:
|
SOAP::WSDL::Server::Mod_Perl2:
|
||||||
file: lib/SOAP/WSDL/Server/Mod_Perl2.pm
|
file: lib/SOAP/WSDL/Server/Mod_Perl2.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Service:
|
SOAP::WSDL::Service:
|
||||||
file: lib/SOAP/WSDL/Service.pm
|
file: lib/SOAP/WSDL/Service.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Transport::HTTP:
|
SOAP::WSDL::Transport::HTTP:
|
||||||
file: lib/SOAP/WSDL/Transport/HTTP.pm
|
file: lib/SOAP/WSDL/Transport/HTTP.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Transport::Loopback:
|
SOAP::WSDL::Transport::Loopback:
|
||||||
file: lib/SOAP/WSDL/Transport/Loopback.pm
|
file: lib/SOAP/WSDL/Transport/Loopback.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::Transport::Test:
|
SOAP::WSDL::Transport::Test:
|
||||||
file: lib/SOAP/WSDL/Transport/Test.pm
|
file: lib/SOAP/WSDL/Transport/Test.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::TypeLookup:
|
SOAP::WSDL::TypeLookup:
|
||||||
file: lib/SOAP/WSDL/TypeLookup.pm
|
file: lib/SOAP/WSDL/TypeLookup.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::Types:
|
SOAP::WSDL::Types:
|
||||||
file: lib/SOAP/WSDL/Types.pm
|
file: lib/SOAP/WSDL/Types.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Annotation:
|
SOAP::WSDL::XSD::Annotation:
|
||||||
file: lib/SOAP/WSDL/XSD/Annotation.pm
|
file: lib/SOAP/WSDL/XSD/Annotation.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Attribute:
|
SOAP::WSDL::XSD::Attribute:
|
||||||
file: lib/SOAP/WSDL/XSD/Attribute.pm
|
file: lib/SOAP/WSDL/XSD/Attribute.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::AttributeGroup:
|
SOAP::WSDL::XSD::AttributeGroup:
|
||||||
file: lib/SOAP/WSDL/XSD/AttributeGroup.pm
|
file: lib/SOAP/WSDL/XSD/AttributeGroup.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Builtin:
|
SOAP::WSDL::XSD::Builtin:
|
||||||
file: lib/SOAP/WSDL/XSD/Builtin.pm
|
file: lib/SOAP/WSDL/XSD/Builtin.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::ComplexType:
|
SOAP::WSDL::XSD::ComplexType:
|
||||||
file: lib/SOAP/WSDL/XSD/ComplexType.pm
|
file: lib/SOAP/WSDL/XSD/ComplexType.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Element:
|
SOAP::WSDL::XSD::Element:
|
||||||
file: lib/SOAP/WSDL/XSD/Element.pm
|
file: lib/SOAP/WSDL/XSD/Element.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Enumeration:
|
SOAP::WSDL::XSD::Enumeration:
|
||||||
file: lib/SOAP/WSDL/XSD/Enumeration.pm
|
file: lib/SOAP/WSDL/XSD/Enumeration.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::FractionDigits:
|
SOAP::WSDL::XSD::FractionDigits:
|
||||||
file: lib/SOAP/WSDL/XSD/FractionDigits.pm
|
file: lib/SOAP/WSDL/XSD/FractionDigits.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Group:
|
SOAP::WSDL::XSD::Group:
|
||||||
file: lib/SOAP/WSDL/XSD/Group.pm
|
file: lib/SOAP/WSDL/XSD/Group.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Length:
|
SOAP::WSDL::XSD::Length:
|
||||||
file: lib/SOAP/WSDL/XSD/Length.pm
|
file: lib/SOAP/WSDL/XSD/Length.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::MaxExclusive:
|
SOAP::WSDL::XSD::MaxExclusive:
|
||||||
file: lib/SOAP/WSDL/XSD/MaxExclusive.pm
|
file: lib/SOAP/WSDL/XSD/MaxExclusive.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::MaxInclusive:
|
SOAP::WSDL::XSD::MaxInclusive:
|
||||||
file: lib/SOAP/WSDL/XSD/MaxInclusive.pm
|
file: lib/SOAP/WSDL/XSD/MaxInclusive.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::MaxLength:
|
SOAP::WSDL::XSD::MaxLength:
|
||||||
file: lib/SOAP/WSDL/XSD/MaxLength.pm
|
file: lib/SOAP/WSDL/XSD/MaxLength.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::MinExclusive:
|
SOAP::WSDL::XSD::MinExclusive:
|
||||||
file: lib/SOAP/WSDL/XSD/MinExclusive.pm
|
file: lib/SOAP/WSDL/XSD/MinExclusive.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::MinInclusive:
|
SOAP::WSDL::XSD::MinInclusive:
|
||||||
file: lib/SOAP/WSDL/XSD/MinInclusive.pm
|
file: lib/SOAP/WSDL/XSD/MinInclusive.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::MinLength:
|
SOAP::WSDL::XSD::MinLength:
|
||||||
file: lib/SOAP/WSDL/XSD/MinLength.pm
|
file: lib/SOAP/WSDL/XSD/MinLength.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Pattern:
|
SOAP::WSDL::XSD::Pattern:
|
||||||
file: lib/SOAP/WSDL/XSD/Pattern.pm
|
file: lib/SOAP/WSDL/XSD/Pattern.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Schema:
|
SOAP::WSDL::XSD::Schema:
|
||||||
file: lib/SOAP/WSDL/XSD/Schema.pm
|
file: lib/SOAP/WSDL/XSD/Schema.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Schema::Builtin:
|
SOAP::WSDL::XSD::Schema::Builtin:
|
||||||
file: lib/SOAP/WSDL/XSD/Schema/Builtin.pm
|
file: lib/SOAP/WSDL/XSD/Schema/Builtin.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::SimpleType:
|
SOAP::WSDL::XSD::SimpleType:
|
||||||
file: lib/SOAP/WSDL/XSD/SimpleType.pm
|
file: lib/SOAP/WSDL/XSD/SimpleType.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::TotalDigits:
|
SOAP::WSDL::XSD::TotalDigits:
|
||||||
file: lib/SOAP/WSDL/XSD/TotalDigits.pm
|
file: lib/SOAP/WSDL/XSD/TotalDigits.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::Attribute:
|
SOAP::WSDL::XSD::Typelib::Attribute:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Attribute.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Attribute.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::AttributeSet:
|
SOAP::WSDL::XSD::Typelib::AttributeSet:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/AttributeSet.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin:
|
SOAP::WSDL::XSD::Typelib::Builtin:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::ENTITY:
|
SOAP::WSDL::XSD::Typelib::Builtin::ENTITY:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::ID:
|
SOAP::WSDL::XSD::Typelib::Builtin::ID:
|
||||||
@@ -279,14 +279,14 @@ provides:
|
|||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::anyType:
|
SOAP::WSDL::XSD::Typelib::Builtin::anyType:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::anyURI:
|
SOAP::WSDL::XSD::Typelib::Builtin::anyURI:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::base64Binary:
|
SOAP::WSDL::XSD::Typelib::Builtin::base64Binary:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::boolean:
|
SOAP::WSDL::XSD::Typelib::Builtin::boolean:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::byte:
|
SOAP::WSDL::XSD::Typelib::Builtin::byte:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::date:
|
SOAP::WSDL::XSD::Typelib::Builtin::date:
|
||||||
@@ -339,7 +339,7 @@ provides:
|
|||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::time:
|
SOAP::WSDL::XSD::Typelib::Builtin::time:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::token:
|
SOAP::WSDL::XSD::Typelib::Builtin::token:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte:
|
SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte:
|
||||||
@@ -352,19 +352,19 @@ provides:
|
|||||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm
|
||||||
SOAP::WSDL::XSD::Typelib::ComplexType:
|
SOAP::WSDL::XSD::Typelib::ComplexType:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
|
||||||
version: 2.1.0
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::Element:
|
SOAP::WSDL::XSD::Typelib::Element:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/Element.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/Element.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::SimpleType:
|
SOAP::WSDL::XSD::Typelib::SimpleType:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::Typelib::SimpleType::restriction:
|
SOAP::WSDL::XSD::Typelib::SimpleType::restriction:
|
||||||
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||||
version: 2.00.03
|
version: 2.00.05
|
||||||
SOAP::WSDL::XSD::WhiteSpace:
|
SOAP::WSDL::XSD::WhiteSpace:
|
||||||
file: lib/SOAP/WSDL/XSD/WhiteSpace.pm
|
file: lib/SOAP/WSDL/XSD/WhiteSpace.pm
|
||||||
version: 2.00.04
|
version: 2.00.05
|
||||||
generated_by: Module::Build version 0.2808
|
generated_by: Module::Build version 0.2808
|
||||||
meta-spec:
|
meta-spec:
|
||||||
url: http://module-build.sourceforge.net/META-spec-v1.2.html
|
url: http://module-build.sourceforge.net/META-spec-v1.2.html
|
||||||
|
|||||||
11
README
11
README
@@ -41,4 +41,13 @@ If you don't have Module::Build installed, you may also use
|
|||||||
make install
|
make install
|
||||||
|
|
||||||
Note that Module::Build is the recommended installer - make will not run
|
Note that Module::Build is the recommended installer - make will not run
|
||||||
all tests provided with SOAP-WSDL.
|
all tests provided with SOAP-WSDL.
|
||||||
|
|
||||||
|
SOLARIS INSTALLATION NOTES
|
||||||
|
--------------------------
|
||||||
|
According to a CPAN RT report http://rt.cpan.org/Ticket/Display.html?id=36865
|
||||||
|
it may be necessary to check (and possibly update) the expat libraries
|
||||||
|
required by XML::Parser.
|
||||||
|
|
||||||
|
SOAP::WSDL's metadata includes XML::Parser, but it seems that the expat
|
||||||
|
libraries XML::Parser depends on may slip through missing or outdated.
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<SOFTPKG NAME="SOAP-WSDL-2.00.01" VERSION="2,00,01,0">
|
|
||||||
<TITLE>SOAP-WSDL-2.00.01</TITLE>
|
|
||||||
<ABSTRACT>SOAP with WSDL support</ABSTRACT>
|
|
||||||
<AUTHOR>Martin Kutter <martin.kutter@fen-net.de></AUTHOR>
|
|
||||||
<IMPLEMENTATION>
|
|
||||||
<DEPENDENCY NAME="Data-Dumper" VERSION="0,0,0,0" />
|
|
||||||
<DEPENDENCY NAME="Scalar-List-Utils" VERSION="0,0,0,0" />
|
|
||||||
<DEPENDENCY NAME="Class-Std-Fast" VERSION="0,0,5,0" />
|
|
||||||
<DEPENDENCY NAME="Template-Toolkit" VERSION="0,0,0,0" />
|
|
||||||
<DEPENDENCY NAME="TimeDate" VERSION="0,0,0,0" />
|
|
||||||
<OS NAME="linux" />
|
|
||||||
<ARCHITECTURE NAME="i486-linux-gnu-thread-multi-5.8" />
|
|
||||||
<CODEBASE HREF="SOAP-WSDL-2.00.01.zip" />
|
|
||||||
</IMPLEMENTATION>
|
|
||||||
</SOFTPKG>
|
|
||||||
Binary file not shown.
@@ -6,12 +6,18 @@
|
|||||||
# Note that this shell script requires Devel::CoverX::Covered - if you
|
# Note that this shell script requires Devel::CoverX::Covered - if you
|
||||||
# don't have it, comment out the line noted below
|
# don't have it, comment out the line noted below
|
||||||
#
|
#
|
||||||
cd t/
|
|
||||||
cover -delete
|
perl -It/lib -MTAP::Harness -MFile::Find::Rule -e '
|
||||||
find . -type f -name '*.t' | xargs -n 1 /usr/bin/perl -MDevel::Cover=-silent,1,-summary,0 -I../lib > /dev/null
|
local $ENV{TEST_VERBOSE} = 1;
|
||||||
|
TAP::Harness->new({
|
||||||
|
merge => 1,
|
||||||
|
lib => [ q{t/lib}, q{lib} ],
|
||||||
|
switches => [ q{-MDevel::Cover=-ignore,.,-select,^lib/.+,-coverage,statement,-coverage,subroutine,-coverage,condition,-coverage,branch} ],
|
||||||
|
})->runtests( sort { $a cmp $b } File::Find::Rule->file()->name( q{*.t} )->in( q{t/} ) );
|
||||||
|
'
|
||||||
|
|
||||||
# Devel::CoverX::Covered
|
# Devel::CoverX::Covered
|
||||||
covered runs
|
covered runs
|
||||||
|
|
||||||
cover -ignore_re \.t$ -ignore_re ^lib -coverage="statement" -coverage=condition -coverage=subroutine -coverage="branch"
|
cover -coverage="statement" -coverage=condition -coverage=subroutine -coverage="branch"
|
||||||
|
|
||||||
|
|||||||
20
covered_by.pl
Normal file
20
covered_by.pl
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
use Getopt::Long;
|
||||||
|
use Pod::Usage;
|
||||||
|
use File::Basename;
|
||||||
|
use POSIX;
|
||||||
|
use Data::Dumper;
|
||||||
|
use Path::Class;
|
||||||
|
|
||||||
|
use Devel::CoverX::Covered::Db;
|
||||||
|
my $db = Devel::CoverX::Covered::Db->new(
|
||||||
|
dir => dir('./cover_db')->absolute(),
|
||||||
|
);
|
||||||
|
|
||||||
|
print( "* Covered *\nVersion: " . Devel::CoverX::Covered->VERSION . "\n" );
|
||||||
|
|
||||||
|
my @test_file_from = $db->test_files();
|
||||||
|
for my $test_file (sort @test_file_from) {
|
||||||
|
print "$test_file\n";
|
||||||
|
print( "\t", join("\n\t", $db->source_files_covered_by($test_file)) , "\n\n" );
|
||||||
|
}
|
||||||
|
|
||||||
58
covering.pl
Normal file
58
covering.pl
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
use strict;
|
||||||
|
use Getopt::Long;
|
||||||
|
use Pod::Usage;
|
||||||
|
use File::Basename;
|
||||||
|
use POSIX;
|
||||||
|
use Data::Dumper;
|
||||||
|
use Path::Class;
|
||||||
|
|
||||||
|
use Devel::CoverX::Covered::Db;
|
||||||
|
my $db = Devel::CoverX::Covered::Db->new(
|
||||||
|
dir => dir('./cover_db')->absolute(),
|
||||||
|
);
|
||||||
|
|
||||||
|
sub covered_subs {
|
||||||
|
my $db = shift;
|
||||||
|
my ($covered_file_name, $calling_file_name) = @_;
|
||||||
|
|
||||||
|
my %sub_covered;
|
||||||
|
map { push @{ $sub_covered{ $_->[1] } }, $_->[0] } $db->db->query(
|
||||||
|
qq{
|
||||||
|
SELECT ccm.covered_row, ccm.covered_sub_name
|
||||||
|
FROM covered_calling_metric ccm, file f_covered, file f_calling
|
||||||
|
WHERE
|
||||||
|
f_covered.name = ?
|
||||||
|
AND f_calling.name = ?
|
||||||
|
AND ccm.calling_file_id = f_calling.file_id
|
||||||
|
AND ccm.covered_file_id = f_covered.file_id
|
||||||
|
AND ccm.metric_type_id = ?
|
||||||
|
GROUP BY ccm.covered_row
|
||||||
|
ORDER by ccm.covered_sub_name
|
||||||
|
},
|
||||||
|
$covered_file_name,
|
||||||
|
$calling_file_name,
|
||||||
|
$db->get_metric_type_id("subroutine"),
|
||||||
|
)->arrays;
|
||||||
|
|
||||||
|
return \%sub_covered;
|
||||||
|
}
|
||||||
|
|
||||||
|
print( "* Covered *\nVersion: " . Devel::CoverX::Covered->VERSION . "\n" );
|
||||||
|
|
||||||
|
my @covered_files = sort { $a cmp $b } $db->covered_files();
|
||||||
|
for my $covered_file (sort @covered_files) {
|
||||||
|
next if $covered_file =~m{\.t$}x;
|
||||||
|
print "$covered_file\n";
|
||||||
|
# print( "\t", join("\n\t", $db->test_files_covering($covered_file)) , "\n\n" );
|
||||||
|
|
||||||
|
my @test_files = $db->test_files_covering($covered_file);
|
||||||
|
for my $test_file (@test_files) {
|
||||||
|
print "\t$test_file\n";
|
||||||
|
|
||||||
|
my $covered_subs_of_ref = covered_subs($db, $covered_file, $test_file);
|
||||||
|
for my $covered_sub (sort keys %{ $covered_subs_of_ref }) {
|
||||||
|
print "\t\t$covered_sub (line ", join(q{, }, @{ $covered_subs_of_ref->{ $covered_sub } }), ")\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
45
example/leaktest/hello_wsdl.pl
Normal file
45
example/leaktest/hello_wsdl.pl
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
# use SOAP::Lite 'trace';
|
||||||
|
use Devel::Leak;
|
||||||
|
use Devel::Cycle;
|
||||||
|
use SOAP::WSDL;
|
||||||
|
my $path = `pwd`; chomp $path;
|
||||||
|
# I have to lookup the URL from the WSDL
|
||||||
|
|
||||||
|
use SOAP::WSDL::Factory::Transport;
|
||||||
|
SOAP::WSDL::Factory::Transport->register('http' => 'SOAP::WSDL::Transport::HTTP');
|
||||||
|
|
||||||
|
my $table;
|
||||||
|
my $count = Devel::Leak::NoteSV($table);
|
||||||
|
|
||||||
|
for (1..10) {
|
||||||
|
my $soap;
|
||||||
|
$soap = SOAP::WSDL->new(
|
||||||
|
wsdl => "file://$path/../wsdl/11_helloworld.wsdl",
|
||||||
|
);
|
||||||
|
$count = Devel::Leak::NoteSV($table);
|
||||||
|
print "SVs: $count\n";
|
||||||
|
|
||||||
|
$soap->wsdlinit();
|
||||||
|
# $count = Devel::Leak::NoteSV($table);
|
||||||
|
# print "SVs: $count\n";
|
||||||
|
# $soap->autotype(0);
|
||||||
|
|
||||||
|
my $som = $soap->call(
|
||||||
|
"sayHello",
|
||||||
|
'sayHello', => { 'name' => 'Your Name',
|
||||||
|
'givenName' => 'Your given name',
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
die $som->fault->{ faultstring } if ($som->fault);
|
||||||
|
|
||||||
|
print $som->result, "\n";
|
||||||
|
undef $som;
|
||||||
|
# $count = Devel::Leak::NoteSV($table);
|
||||||
|
# print "SVs: $count\n";
|
||||||
|
}
|
||||||
|
#}
|
||||||
|
sleep 500;
|
||||||
28
example/leaktest/leak.pl
Normal file
28
example/leaktest/leak.pl
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#!/usr/bin/perl -w
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
# use SOAP::Lite 'trace';
|
||||||
|
use Devel::Leak;
|
||||||
|
use SOAP::WSDL;
|
||||||
|
use SOAP::WSDL::Definitions;
|
||||||
|
use SOAP::WSDL::Binding;
|
||||||
|
my $path = `pwd`; chomp $path;
|
||||||
|
# I have to lookup the URL from the WSDL
|
||||||
|
|
||||||
|
my $table;
|
||||||
|
my $count = Devel::Leak::NoteSV($table);
|
||||||
|
for (1..3) {
|
||||||
|
print "SVs: $count\n";
|
||||||
|
my $definitions = SOAP::WSDL::Definitions->new({
|
||||||
|
annotation => 'Foo',
|
||||||
|
});
|
||||||
|
|
||||||
|
$definitions->set_binding(
|
||||||
|
SOAP::WSDL::Binding->new({ parent => $definitions })
|
||||||
|
);
|
||||||
|
|
||||||
|
undef $definitions;
|
||||||
|
$count = Devel::Leak::NoteSV($table);
|
||||||
|
}
|
||||||
|
print "SVs: $count\n";
|
||||||
|
|
||||||
16
example/leaktest/parse.pl
Normal file
16
example/leaktest/parse.pl
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
use SOAP::WSDL::Expat::WSDLParser;
|
||||||
|
use Devel::Leak;
|
||||||
|
my $xml = `cat ../wsdl/11_helloworld.wsdl`;
|
||||||
|
|
||||||
|
my ($table, $count);
|
||||||
|
|
||||||
|
|
||||||
|
for (1..5) {
|
||||||
|
$count = Devel::Leak::NoteSV($table);
|
||||||
|
print "SV: $count \n";
|
||||||
|
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||||
|
$parser->parse_string($xml);
|
||||||
|
my $data = $parser->get_data();
|
||||||
|
undef $parser;
|
||||||
|
undef $data;
|
||||||
|
}
|
||||||
@@ -14,7 +14,7 @@ use Class::Std::Fast constructor => 'none';
|
|||||||
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
||||||
use LWP::UserAgent;
|
use LWP::UserAgent;
|
||||||
|
|
||||||
use version; our $VERSION= qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %no_dispatch_of :ATTR(:name<no_dispatch>);
|
my %no_dispatch_of :ATTR(:name<no_dispatch>);
|
||||||
my %wsdl_of :ATTR(:name<wsdl>);
|
my %wsdl_of :ATTR(:name<wsdl>);
|
||||||
@@ -270,7 +270,7 @@ sub _wsdl_init_methods :PRIVATE {
|
|||||||
|
|
||||||
# on_action is a no-op and just here for compatibility reasons.
|
# on_action is a no-op and just here for compatibility reasons.
|
||||||
# It returns the first parameter to allow method chaining.
|
# It returns the first parameter to allow method chaining.
|
||||||
sub on_action { return shift };
|
sub on_action { return shift }
|
||||||
|
|
||||||
sub call {
|
sub call {
|
||||||
my ($self, $method, @data_from) = @_;
|
my ($self, $method, @data_from) = @_;
|
||||||
@@ -299,7 +299,7 @@ sub call {
|
|||||||
&& ( ! $no_dispatch_of{ $ident } ) ) {
|
&& ( ! $no_dispatch_of{ $ident } ) ) {
|
||||||
require SOAP::WSDL::Deserializer::SOM;
|
require SOAP::WSDL::Deserializer::SOM;
|
||||||
$client->set_deserializer( SOAP::WSDL::Deserializer::SOM->new() );
|
$client->set_deserializer( SOAP::WSDL::Deserializer::SOM->new() );
|
||||||
};
|
}
|
||||||
|
|
||||||
my $method_info = $method_info_of{ $ident }->{ $method };
|
my $method_info = $method_info_of{ $ident }->{ $method };
|
||||||
|
|
||||||
@@ -830,9 +830,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 694 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: WSDL.pm 694 2008-05-25 21:06:56Z kutterma $
|
$Id: WSDL.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package SOAP::WSDL::Base;
|
package SOAP::WSDL::Base;
|
||||||
use strict;
|
use strict; use warnings;
|
||||||
use warnings;
|
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use List::Util qw(first);
|
use List::Util;
|
||||||
|
use Scalar::Util;
|
||||||
use Carp qw(croak carp confess);
|
use Carp qw(croak carp confess);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %id_of :ATTR(:name<id> :default<()>);
|
my %id_of :ATTR(:name<id> :default<()>);
|
||||||
my %lang_of :ATTR(:name<lang> :default<()>);
|
my %lang_of :ATTR(:name<lang> :default<()>);
|
||||||
@@ -15,7 +15,7 @@ my %documentation_of :ATTR(:name<documentation> :default<()>);
|
|||||||
my %annotation_of :ATTR(:name<annotation> :default<()>);
|
my %annotation_of :ATTR(:name<annotation> :default<()>);
|
||||||
my %targetNamespace_of :ATTR(:name<targetNamespace> :default<()>);
|
my %targetNamespace_of :ATTR(:name<targetNamespace> :default<()>);
|
||||||
my %xmlns_of :ATTR(:name<xmlns> :default<{}>);
|
my %xmlns_of :ATTR(:name<xmlns> :default<{}>);
|
||||||
my %parent_of :ATTR(:name<parent> :default<()>);
|
my %parent_of :ATTR(:get<parent> :default<()>);
|
||||||
|
|
||||||
my %namespaces_of :ATTR(:default<{}>);
|
my %namespaces_of :ATTR(:default<{}>);
|
||||||
|
|
||||||
@@ -23,34 +23,42 @@ sub namespaces {
|
|||||||
return shift->get_xmlns();
|
return shift->get_xmlns();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub BUILD {
|
||||||
|
my ($self, $ident, $arg_ref) = @_;
|
||||||
|
if (defined $arg_ref->{ parent }) {
|
||||||
|
$parent_of{ $ident } = delete $arg_ref->{ parent },
|
||||||
|
Scalar::Util::weaken($parent_of{ $ident });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sub START {
|
sub START {
|
||||||
my ($self, $ident, $arg_ref) = @_;
|
my ($self, $ident, $arg_ref) = @_;
|
||||||
$xmlns_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace';
|
$xmlns_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace';
|
||||||
$namespaces_of{ $ident }->{ '#default' } = $self->get_xmlns()->{ '#default' };
|
$namespaces_of{ $ident }->{ '#default' } = $self->get_xmlns()->{ '#default' };
|
||||||
$namespaces_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace';
|
$namespaces_of{ $ident }->{ 'xml' } = 'http://www.w3.org/XML/1998/namespace';
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
sub DEMOLISH {
|
|
||||||
my $self = shift;
|
|
||||||
# delete upward references
|
|
||||||
delete $parent_of{ ${ $self } };
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
#sub STORABLE_freeze_pre :CUMULATIVE {};
|
# set_parent is hand-implemented to break up (weaken) the circular reference
|
||||||
#sub STORABLE_freeze_post :CUMULATIVE {};
|
# between an object and it's parent
|
||||||
#sub STORABLE_thaw_pre :CUMULATIVE {};
|
#
|
||||||
#sub STORABLE_thaw_post :CUMULATIVE { return $_[0] };
|
sub set_parent {
|
||||||
|
$parent_of{ ${ $_[0]} } = $_[1];
|
||||||
|
Scalar::Util::weaken($parent_of{ ${ $_[0]} });
|
||||||
|
}
|
||||||
|
|
||||||
|
# _accept is here to be called by visitor.
|
||||||
|
# The visitor pattern is a level of indirection - here the visitor calls
|
||||||
|
# $object->_accept($visitor) on each object, which in turn calls
|
||||||
|
# $visitor->visit_$class( $object ) where $class is the object's class.
|
||||||
|
#
|
||||||
sub _accept {
|
sub _accept {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $class = ref $self;
|
my $class = ref $self;
|
||||||
$class =~ s{ \A SOAP::WSDL:: }{}xms;
|
$class =~ s{ \A SOAP::WSDL:: }{}xms;
|
||||||
$class =~ s{ (:? :: ) }{_}gxms;
|
$class =~ s{ (:? :: ) }{_}gxms;
|
||||||
my $method = "visit_$class";
|
my $method = "visit_$class";
|
||||||
no strict qw(refs); ## no critic ProhibitNoStrict
|
no strict qw(refs);
|
||||||
return shift->$method( $self );
|
return shift->$method( $self );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,13 +73,12 @@ sub AUTOMETHOD {
|
|||||||
if ($subname =~s{^push_}{}xms) {
|
if ($subname =~s{^push_}{}xms) {
|
||||||
my $getter = "get_$subname";
|
my $getter = "get_$subname";
|
||||||
my $setter = "set_$subname";
|
my $setter = "set_$subname";
|
||||||
## Checking here is paranoid - will fail fatally if
|
# Checking here is paranoid - will fail fatally if there is no setter.
|
||||||
## there is no setter...
|
# And we would have to check getters, too.
|
||||||
## And we would have to check getters, too.
|
# Maybe do it the Conway way via the Symbol table...
|
||||||
## Maybe do it the Conway way via the Symbol table...
|
# ... can is way slow...
|
||||||
## ... can is way slow...
|
|
||||||
return sub {
|
return sub {
|
||||||
no strict qw(refs); ## no critic ProhibitNoStrict
|
no strict qw(refs);
|
||||||
my $old_value = $self->$getter();
|
my $old_value = $self->$getter();
|
||||||
# Listify if not a list ref
|
# Listify if not a list ref
|
||||||
$old_value = $old_value ? [ $old_value ] : [] if not ref $old_value;
|
$old_value = $old_value ? [ $old_value ] : [] if not ref $old_value;
|
||||||
@@ -85,7 +92,7 @@ sub AUTOMETHOD {
|
|||||||
elsif ($subname =~s {^find_}{get_}xms) {
|
elsif ($subname =~s {^find_}{get_}xms) {
|
||||||
@values = @{ $values[0] } if ref $values[0] eq 'ARRAY';
|
@values = @{ $values[0] } if ref $values[0] eq 'ARRAY';
|
||||||
return sub {
|
return sub {
|
||||||
return first {
|
return List::Util::first {
|
||||||
$_->get_targetNamespace() eq $values[0] &&
|
$_->get_targetNamespace() eq $values[0] &&
|
||||||
$_->get_name() eq $values[1]
|
$_->get_name() eq $values[1]
|
||||||
}
|
}
|
||||||
@@ -101,10 +108,6 @@ sub AUTOMETHOD {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
# return if called from can();
|
|
||||||
my @caller = caller(2);
|
|
||||||
return if ($caller[3] eq 'Class::Std::Fast::__ANON__');
|
|
||||||
# confess "$subname not found in class " . ref $self;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ package SOAP::WSDL::Binding;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use List::Util qw(first);
|
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %operation_of :ATTR(:name<operation> :default<()>);
|
my %operation_of :ATTR(:name<operation> :default<()>);
|
||||||
my %type_of :ATTR(:name<type> :default<()>);
|
my %type_of :ATTR(:name<type> :default<()>);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ use SOAP::WSDL::Factory::Serializer;
|
|||||||
use SOAP::WSDL::Factory::Transport;
|
use SOAP::WSDL::Factory::Transport;
|
||||||
use SOAP::WSDL::Expat::MessageParser;
|
use SOAP::WSDL::Expat::MessageParser;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %class_resolver_of :ATTR(:name<class_resolver> :default<()>);
|
my %class_resolver_of :ATTR(:name<class_resolver> :default<()>);
|
||||||
my %no_dispatch_of :ATTR(:name<no_dispatch> :default<()>);
|
my %no_dispatch_of :ATTR(:name<no_dispatch> :default<()>);
|
||||||
@@ -20,7 +20,7 @@ my %outputxml_of :ATTR(:name<outputxml> :default<()>);
|
|||||||
my %transport_of :ATTR(:name<transport> :default<()>);
|
my %transport_of :ATTR(:name<transport> :default<()>);
|
||||||
my %endpoint_of :ATTR(:name<endpoint> :default<()>);
|
my %endpoint_of :ATTR(:name<endpoint> :default<()>);
|
||||||
|
|
||||||
my %soap_version_of :ATTR(:get<soap_version> :init_attr<soap_version> :default<'1.1'>);
|
my %soap_version_of :ATTR(:get<soap_version> :init_attr<soap_version> :default<1.1>);
|
||||||
|
|
||||||
my %on_action_of :ATTR(:name<on_action> :default<()>);
|
my %on_action_of :ATTR(:name<on_action> :default<()>);
|
||||||
my %content_type_of :ATTR(:name<content_type> :default<text/xml; charset=utf8>); #/#trick editors
|
my %content_type_of :ATTR(:name<content_type> :default<text/xml; charset=utf8>); #/#trick editors
|
||||||
@@ -395,9 +395,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Client.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: Client.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use base 'SOAP::WSDL::Client';
|
use base 'SOAP::WSDL::Client';
|
||||||
use Scalar::Util qw(blessed);
|
use Scalar::Util qw(blessed);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub call {
|
sub call {
|
||||||
my ($self, $method, $body, $header) = @_;
|
my ($self, $method, $body, $header) = @_;
|
||||||
@@ -22,7 +22,7 @@ sub call {
|
|||||||
# parameters given
|
# parameters given
|
||||||
my @part_from = ();
|
my @part_from = ();
|
||||||
foreach my $class (@{ $method->{ body }->{ parts } }) {
|
foreach my $class (@{ $method->{ body }->{ parts } }) {
|
||||||
eval "require $class" || die $@;
|
eval "require $class" || die $@; ## no critic (ProhibitStringyEval)
|
||||||
push @part_from, $class->new(shift(@body_from) || {});
|
push @part_from, $class->new(shift(@body_from) || {});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,10 +33,10 @@ sub call {
|
|||||||
# if we have a header
|
# if we have a header
|
||||||
if (%{ $method->{ header } }) {
|
if (%{ $method->{ header } }) {
|
||||||
|
|
||||||
# trat non object special - as above, but only for one
|
# treat non object special - as above, but only for one
|
||||||
if (not blessed $header) {
|
if (not blessed $header) {
|
||||||
my $class = $method->{ header }->{ parts }->[0];
|
my $class = $method->{ header }->{ parts }->[0];
|
||||||
eval "require $class" || die $@;
|
eval "require $class" || die $@; ## no critic (ProhibitStringyEval)
|
||||||
$header = $class->new($header);
|
$header = $class->new($header);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -85,9 +85,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 689 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Base.pm 689 2008-05-23 22:11:46Z kutterma $
|
$Id: Base.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -1,26 +1,22 @@
|
|||||||
package SOAP::WSDL::Definitions;
|
package SOAP::WSDL::Definitions;
|
||||||
use utf8;
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Carp;
|
|
||||||
use File::Basename;
|
|
||||||
use File::Path;
|
|
||||||
use List::Util qw(first);
|
use List::Util qw(first);
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %types_of :ATTR(:name<types> :default<[]>);
|
my %types_of :ATTR(:name<types> :default<[]>);
|
||||||
my %message_of :ATTR(:name<message> :default<[]>);
|
my %message_of :ATTR(:name<message> :default<[]>);
|
||||||
my %portType_of :ATTR(:name<portType> :default<[]>);
|
my %portType_of :ATTR(:name<portType> :default<[]>);
|
||||||
my %binding_of :ATTR(:name<binding> :default<[]>);
|
my %binding_of :ATTR(:name<binding> :default<[]>);
|
||||||
my %service_of :ATTR(:name<service> :default<[]>);
|
my %service_of :ATTR(:name<service> :default<[]>);
|
||||||
my %namespace_of :ATTR(:name<namespace> :default<()>);
|
my %namespace_of :ATTR(:name<namespace> :default<()>);
|
||||||
|
|
||||||
# must be attr for Class::Std::Fast::Storable
|
# must be attr for Class::Std::Fast::Storable
|
||||||
my %attributes_of :ATTR();
|
#my %attributes_of :ATTR();
|
||||||
%attributes_of = (
|
my %attributes_of = (
|
||||||
binding => \%binding_of,
|
binding => \%binding_of,
|
||||||
message => \%message_of,
|
message => \%message_of,
|
||||||
portType => \%portType_of,
|
portType => \%portType_of,
|
||||||
@@ -44,6 +40,7 @@ BLOCK: {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
=pod
|
=pod
|
||||||
@@ -118,9 +115,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 689 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Definitions.pm 689 2008-05-23 22:11:46Z kutterma $
|
$Id: Definitions.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Definitions.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Definitions.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use SOAP::WSDL::Expat::Message2Hash;
|
|||||||
use SOAP::WSDL::Factory::Deserializer;
|
use SOAP::WSDL::Factory::Deserializer;
|
||||||
SOAP::WSDL::Factory::Deserializer->register( '1.1', __PACKAGE__ );
|
SOAP::WSDL::Factory::Deserializer->register( '1.1', __PACKAGE__ );
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub BUILD {
|
sub BUILD {
|
||||||
my ($self, $ident, $args_of_ref) = @_;
|
my ($self, $ident, $args_of_ref) = @_;
|
||||||
@@ -163,9 +163,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 689 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Hash.pm 689 2008-05-23 22:11:46Z kutterma $
|
$Id: Hash.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/Hash.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/Hash.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package SOAP::WSDL::Deserializer::SOM;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
our @ISA;
|
our @ISA;
|
||||||
|
|
||||||
eval {
|
eval {
|
||||||
@@ -13,6 +13,18 @@ or die "Cannot load SOAP::Lite.
|
|||||||
Cannot deserialize to SOM object without SOAP::Lite.
|
Cannot deserialize to SOM object without SOAP::Lite.
|
||||||
Please install SOAP::Lite.";
|
Please install SOAP::Lite.";
|
||||||
|
|
||||||
|
sub deserialize {
|
||||||
|
my $self = shift;
|
||||||
|
my $result = eval { $self->SUPER::deserialize(@_) };
|
||||||
|
if ($@) {
|
||||||
|
return SOAP::Fault->new(
|
||||||
|
faultactor => 'soap:Server',
|
||||||
|
faultstring => $@,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
sub generate_fault {
|
sub generate_fault {
|
||||||
my ($self, $args_from_ref) = @_;
|
my ($self, $args_from_ref) = @_;
|
||||||
# code, message, detail, actor
|
# code, message, detail, actor
|
||||||
@@ -66,6 +78,17 @@ This may be XML including mixed content, attachements and other XML data not
|
|||||||
SOAP::WSDL::Deserializer::SOM is a subclass of L<SOAP::Deserializer|SOAP::Deserializer>
|
SOAP::WSDL::Deserializer::SOM is a subclass of L<SOAP::Deserializer|SOAP::Deserializer>
|
||||||
from the L<SOAP::Lite|SOAP::Lite> package.
|
from the L<SOAP::Lite|SOAP::Lite> package.
|
||||||
|
|
||||||
|
=head1 METHODS
|
||||||
|
|
||||||
|
=head2 deserialize
|
||||||
|
|
||||||
|
Deserializes a XML sting into a SOAP::SOM object. Returns a SOAP::Fault object
|
||||||
|
on deserialization errors.
|
||||||
|
|
||||||
|
=head2 generate_fault
|
||||||
|
|
||||||
|
Dies with a SOAP::Fault object.
|
||||||
|
|
||||||
=head1 USAGE
|
=head1 USAGE
|
||||||
|
|
||||||
SOAP::WSDL::Deserializer will not autoregister itself - to use it for a particular
|
SOAP::WSDL::Deserializer will not autoregister itself - to use it for a particular
|
||||||
@@ -85,8 +108,8 @@ SOAP version just use the following lines:
|
|||||||
|
|
||||||
=item * No on_fault handler
|
=item * No on_fault handler
|
||||||
|
|
||||||
You cannot specify what to do when an error occurs - SOAP::WSDL will die
|
You cannot specify what to do when an error occurs - SOAP::WSDL will return
|
||||||
with a SOAP::Fault object on transport errors.
|
a SOAP::Fault object on transport errors.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -99,6 +122,9 @@ with a SOAP::Fault object on transport errors.
|
|||||||
SOAP::WSDL::Deserializer::SOM will die with a SOAP::Fault object on calls
|
SOAP::WSDL::Deserializer::SOM will die with a SOAP::Fault object on calls
|
||||||
to generate_fault.
|
to generate_fault.
|
||||||
|
|
||||||
|
This also means that a SOAP::Fault may be thrown as exception when using
|
||||||
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 LICENSE AND COPYRIGHT
|
=head1 LICENSE AND COPYRIGHT
|
||||||
@@ -114,9 +140,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: SOM.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: SOM.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/SOM.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/SOM.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use Class::Std::Fast::Storable;
|
|||||||
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
||||||
use SOAP::WSDL::Expat::MessageParser;
|
use SOAP::WSDL::Expat::MessageParser;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %class_resolver_of :ATTR(:name<class_resolver> :default<()>);
|
my %class_resolver_of :ATTR(:name<class_resolver> :default<()>);
|
||||||
|
|
||||||
@@ -99,9 +99,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: XSD.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: XSD.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/XSD.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Deserializer/XSD.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use XML::Parser::Expat;
|
|||||||
|
|
||||||
# TODO: convert to Class::Std::Fast based class - hash based classes suck.
|
# TODO: convert to Class::Std::Fast based class - hash based classes suck.
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
my ($class, $arg_ref) = @_;
|
my ($class, $arg_ref) = @_;
|
||||||
@@ -35,17 +35,23 @@ sub get_uri { return $_[0]->{ uri }; }
|
|||||||
sub set_user_agent { $_[0]->{ user_agent } = $_[1]; }
|
sub set_user_agent { $_[0]->{ user_agent } = $_[1]; }
|
||||||
sub get_user_agent { return $_[0]->{ user_agent }; }
|
sub get_user_agent { return $_[0]->{ user_agent }; }
|
||||||
|
|
||||||
|
# Mark a URI as "already parsed"
|
||||||
sub set_parsed {
|
sub set_parsed {
|
||||||
my ($self, $uri) = @_;
|
my ($self, $uri) = @_;
|
||||||
$self->{ parsed }->{ $uri } = 1;
|
$self->{ parsed }->{ $uri } = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# returns true if a specific URI has already been parsed
|
||||||
sub is_parsed {
|
sub is_parsed {
|
||||||
my ($self, $uri) = @_;
|
my ($self, $uri) = @_;
|
||||||
return exists $self->{ parsed }->{ $uri };
|
return exists $self->{ parsed }->{ $uri };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# parse a URI. This is the preferred parsing method for WSDL files, as it's
|
||||||
|
# the only one allowing automatic import resolution
|
||||||
sub parse_uri {
|
sub parse_uri {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $uri = shift;
|
my $uri = shift;
|
||||||
@@ -74,6 +80,7 @@ sub parse {
|
|||||||
$_[0]->{ parser }->release();
|
$_[0]->{ parser }->release();
|
||||||
};
|
};
|
||||||
$_[0]->{ parser }->xpcroak( $@ ) if $@;
|
$_[0]->{ parser }->xpcroak( $@ ) if $@;
|
||||||
|
delete $_[0]->{ parser };
|
||||||
return $_[0]->{ data };
|
return $_[0]->{ data };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,6 +90,7 @@ sub parsefile {
|
|||||||
$_[0]->{ parser }->release();
|
$_[0]->{ parser }->release();
|
||||||
};
|
};
|
||||||
$_[0]->{ parser }->xpcroak( $@ ) if $@;
|
$_[0]->{ parser }->xpcroak( $@ ) if $@;
|
||||||
|
delete $_[0]->{ parser };
|
||||||
return $_[0]->{ data };
|
return $_[0]->{ data };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use base qw(SOAP::WSDL::Expat::Base);
|
use base qw(SOAP::WSDL::Expat::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub _initialize {
|
sub _initialize {
|
||||||
my ($self, $parser) = @_;
|
my ($self, $parser) = @_;
|
||||||
|
|||||||
@@ -1,19 +1,20 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
package SOAP::WSDL::Expat::MessageParser;
|
package SOAP::WSDL::Expat::MessageParser;
|
||||||
use strict;
|
use strict; use warnings;
|
||||||
use warnings;
|
|
||||||
use Carp qw(croak confess);
|
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
|
||||||
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
||||||
|
|
||||||
use base qw(SOAP::WSDL::Expat::Base);
|
use base qw(SOAP::WSDL::Expat::Base);
|
||||||
|
|
||||||
require Class::Std::Fast;
|
BEGIN { require Class::Std::Fast };
|
||||||
|
|
||||||
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
|
# GLOBALS
|
||||||
my $OBJECT_CACHE_REF = Class::Std::Fast::OBJECT_CACHE_REF();
|
my $OBJECT_CACHE_REF = Class::Std::Fast::OBJECT_CACHE_REF();
|
||||||
|
|
||||||
|
# keep track of classes loaded
|
||||||
my %LOADED_OF = ();
|
my %LOADED_OF = ();
|
||||||
|
|
||||||
sub new {
|
sub new {
|
||||||
@@ -46,7 +47,10 @@ sub class_resolver {
|
|||||||
sub load_classes {
|
sub load_classes {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
for (values %{ $self->{ class_resolver }->get_typemap }) {
|
return if $LOADED_OF{ $self->{ class_resolver } };
|
||||||
|
|
||||||
|
# requires sorting to make sub-packages load after their parent
|
||||||
|
for (sort values %{ $self->{ class_resolver }->get_typemap }) {
|
||||||
no strict qw(refs);
|
no strict qw(refs);
|
||||||
my $class = $_;
|
my $class = $_;
|
||||||
|
|
||||||
@@ -54,9 +58,10 @@ sub load_classes {
|
|||||||
next if $class eq '__SKIP__';
|
next if $class eq '__SKIP__';
|
||||||
next if defined *{ "$class\::" }; # check if namespace exists
|
next if defined *{ "$class\::" }; # check if namespace exists
|
||||||
|
|
||||||
|
# Require takes a bareword or a file name - we have to take
|
||||||
|
# the filname road here...
|
||||||
$class =~s{ :: }{/}xmsg;
|
$class =~s{ :: }{/}xmsg;
|
||||||
$class .= '.pm';
|
require "$class.pm"; ## no critic (RequireBarewordIncludes)
|
||||||
require $class;
|
|
||||||
}
|
}
|
||||||
$LOADED_OF{ $self->{ class_resolver } } = 1;
|
$LOADED_OF{ $self->{ class_resolver } } = 1;
|
||||||
}
|
}
|
||||||
@@ -106,16 +111,12 @@ sub _initialize {
|
|||||||
: ();
|
: ();
|
||||||
|
|
||||||
# use "globals" for speed
|
# use "globals" for speed
|
||||||
my ($_prefix, $_method,
|
my ($_prefix, $_method, $_class, $_leaf) = ();
|
||||||
$_class, $_leaf) = ();
|
|
||||||
|
|
||||||
my $char_handler = sub {
|
my $char_handler = sub {
|
||||||
return if (!$_leaf); # we only want characters in leaf nodes
|
return if (!$_leaf); # we only want characters in leaf nodes
|
||||||
|
$characters .= $_[1]; # add to characters
|
||||||
$characters .= $_[1];
|
return; # return void
|
||||||
# if $_[1] =~m{ [^\s] }xms;
|
|
||||||
|
|
||||||
return;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
no strict qw(refs);
|
no strict qw(refs);
|
||||||
@@ -194,6 +195,9 @@ sub _initialize {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
$depth++;
|
$depth++;
|
||||||
|
|
||||||
|
# TODO: Skip content of anyType / any stuff
|
||||||
|
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -319,10 +323,10 @@ the same terms as perl itself
|
|||||||
|
|
||||||
=head1 Repository information
|
=head1 Repository information
|
||||||
|
|
||||||
$Id: MessageParser.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: MessageParser.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
|
|
||||||
$LastChangedDate: 2008-05-18 22:17:56 +0200 (So, 18 Mai 2008) $
|
$LastChangedDate: 2008-07-13 21:28:50 +0200 (So, 13 Jul 2008) $
|
||||||
$LastChangedRevision: 677 $
|
$LastChangedRevision: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
|
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use XML::Parser::Expat;
|
|||||||
use SOAP::WSDL::Expat::MessageParser;
|
use SOAP::WSDL::Expat::MessageParser;
|
||||||
use base qw(SOAP::WSDL::Expat::MessageParser);
|
use base qw(SOAP::WSDL::Expat::MessageParser);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub parse_start {
|
sub parse_start {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
@@ -69,9 +69,9 @@ the same terms as perl itself
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 701 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: MessageStreamParser.pm 701 2008-06-05 19:19:16Z kutterma $
|
$Id: MessageStreamParser.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -5,7 +5,17 @@ use Carp;
|
|||||||
use SOAP::WSDL::TypeLookup;
|
use SOAP::WSDL::TypeLookup;
|
||||||
use base qw(SOAP::WSDL::Expat::Base);
|
use base qw(SOAP::WSDL::Expat::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
|
#
|
||||||
|
# Import child elements of a WSDL / XML Schema tree into the current tree
|
||||||
|
#
|
||||||
|
# Set the targetNamespace of the imported nodes to $import_namespace
|
||||||
|
#
|
||||||
|
# SYNOPSIS
|
||||||
|
#
|
||||||
|
# $self->_import_children($name, $imported, $imported, $import_namespace)
|
||||||
|
#
|
||||||
|
|
||||||
sub _import_children {
|
sub _import_children {
|
||||||
my ($self, $name, $imported, $importer, $import_namespace) = @_;
|
my ($self, $name, $imported, $importer, $import_namespace) = @_;
|
||||||
@@ -140,6 +150,8 @@ sub _initialize {
|
|||||||
# TODO skip non-XML Schema namespace tags
|
# TODO skip non-XML Schema namespace tags
|
||||||
$parser->setHandlers(
|
$parser->setHandlers(
|
||||||
Start => sub {
|
Start => sub {
|
||||||
|
# handle attrs as list - expat uses dual-vars for looking
|
||||||
|
# up namespace information, and hash keys don't allow dual vars...
|
||||||
my ($parser, $localname, @attrs) = @_;
|
my ($parser, $localname, @attrs) = @_;
|
||||||
$characters = q{};
|
$characters = q{};
|
||||||
|
|
||||||
@@ -174,9 +186,7 @@ sub _initialize {
|
|||||||
# remember element for stepping back
|
# remember element for stepping back
|
||||||
push @{ $list }, $current;
|
push @{ $list }, $current;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
$self->{ data } = $obj;
|
|
||||||
}
|
|
||||||
# set new element (step down)
|
# set new element (step down)
|
||||||
$current = $obj;
|
$current = $obj;
|
||||||
}
|
}
|
||||||
@@ -228,6 +238,11 @@ sub _initialize {
|
|||||||
$localname
|
$localname
|
||||||
) || {};
|
) || {};
|
||||||
|
|
||||||
|
if (! defined $list->[-1]) {
|
||||||
|
$self->{ data } = $current;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
return if not ($action->{ type });
|
return if not ($action->{ type });
|
||||||
if ( $action->{ type } eq 'CLASS' ) {
|
if ( $action->{ type } eq 'CLASS' ) {
|
||||||
$current = pop @{ $list };
|
$current = pop @{ $list };
|
||||||
@@ -275,7 +290,6 @@ sub _fixup_attrs {
|
|||||||
} $parser->new_ns_prefixes();
|
} $parser->new_ns_prefixes();
|
||||||
|
|
||||||
push @attrs_from, map {
|
push @attrs_from, map {
|
||||||
$_ =
|
|
||||||
{
|
{
|
||||||
Name => defined $parser->namespace($_)
|
Name => defined $parser->namespace($_)
|
||||||
? $parser->namespace($_) . '|' . $_
|
? $parser->namespace($_) . '|' . $_
|
||||||
@@ -322,10 +336,10 @@ the same terms as perl itself
|
|||||||
|
|
||||||
=head1 Repository information
|
=head1 Repository information
|
||||||
|
|
||||||
$Id: WSDLParser.pm 688 2008-05-23 21:01:54Z kutterma $
|
$Id: WSDLParser.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
|
|
||||||
$LastChangedDate: 2008-05-23 23:01:54 +0200 (Fr, 23 Mai 2008) $
|
$LastChangedDate: 2008-07-13 21:28:50 +0200 (So, 13 Jul 2008) $
|
||||||
$LastChangedRevision: 688 $
|
$LastChangedRevision: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
|
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/WSDLParser.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/WSDLParser.pm $
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package SOAP::WSDL::Factory::Deserializer;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %DESERIALIZER = (
|
my %DESERIALIZER = (
|
||||||
'1.1' => 'SOAP::WSDL::Deserializer::XSD',
|
'1.1' => 'SOAP::WSDL::Deserializer::XSD',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package SOAP::WSDL::Factory::Generator;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %GENERATOR = (
|
my %GENERATOR = (
|
||||||
'XSD' => 'SOAP::WSDL::Generator::Template::XSD',
|
'XSD' => 'SOAP::WSDL::Generator::Template::XSD',
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package SOAP::WSDL::Factory::Serializer;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %SERIALIZER = (
|
my %SERIALIZER = (
|
||||||
'1.1' => 'SOAP::WSDL::Serializer::XSD',
|
'1.1' => 'SOAP::WSDL::Serializer::XSD',
|
||||||
@@ -138,9 +138,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Serializer.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: Serializer.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package SOAP::WSDL::Factory::Transport;
|
package SOAP::WSDL::Factory::Transport;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %registered_transport_of = ();
|
my %registered_transport_of = ();
|
||||||
|
|
||||||
@@ -243,9 +243,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 679 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Transport.pm 679 2008-05-18 21:18:03Z kutterma $
|
$Id: Transport.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package SOAP::WSDL::Generator::Iterator::WSDL11;
|
|||||||
use strict; use warnings;
|
use strict; use warnings;
|
||||||
use Class::Std::Fast;
|
use Class::Std::Fast;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %definitions_of :ATTR(:name<definitions> :default<[]>);
|
my %definitions_of :ATTR(:name<definitions> :default<[]>);
|
||||||
my %nodes_of :ATTR(:name<nodes> :default<[]>);
|
my %nodes_of :ATTR(:name<nodes> :default<[]>);
|
||||||
@@ -74,7 +74,8 @@ my %METHOD_OF = (
|
|||||||
? do {
|
? do {
|
||||||
die "unsupported global type <"
|
die "unsupported global type <"
|
||||||
. $node->get_type . "> found in part ". $node->get_name();
|
. $node->get_type . "> found in part ". $node->get_name();
|
||||||
$types->find_type( $node->expand($node->get_type) )
|
## use this once we can auto-generate an element for RPC bindings
|
||||||
|
# $types->find_type( $node->expand($node->get_type) )
|
||||||
}
|
}
|
||||||
: (),
|
: (),
|
||||||
$node->get_element()
|
$node->get_element()
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use strict; use warnings;
|
|||||||
|
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %namespace_prefix_map_of :ATTR(:name<namespace_prefix_map> :default<{}>);
|
my %namespace_prefix_map_of :ATTR(:name<namespace_prefix_map> :default<{}>);
|
||||||
my %namespace_map_of :ATTR(:name<namespace_map> :default<{}>);
|
my %namespace_map_of :ATTR(:name<namespace_map> :default<{}>);
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package SOAP::WSDL::Generator::Template;
|
package SOAP::WSDL::Generator::Template;
|
||||||
use strict;
|
use strict; use warnings;
|
||||||
use Template;
|
use Template;
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use Carp;
|
use Carp;
|
||||||
use SOAP::WSDL::Generator::PrefixResolver;
|
use SOAP::WSDL::Generator::PrefixResolver;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %tt_of :ATTR(:get<tt>);
|
my %tt_of :ATTR(:get<tt>);
|
||||||
my %definitions_of :ATTR(:name<definitions> :default<()>);
|
my %definitions_of :ATTR(:name<definitions> :default<()>);
|
||||||
@@ -39,7 +39,8 @@ sub _process :PROTECTED {
|
|||||||
INCLUDE_PATH => $INCLUDE_PATH_of{ $ident },
|
INCLUDE_PATH => $INCLUDE_PATH_of{ $ident },
|
||||||
OUTPUT_PATH => $OUTPUT_PATH_of{ $ident },
|
OUTPUT_PATH => $OUTPUT_PATH_of{ $ident },
|
||||||
PLUGIN_BASE => 'SOAP::WSDL::Generator::Template::Plugin',
|
PLUGIN_BASE => 'SOAP::WSDL::Generator::Template::Plugin',
|
||||||
);
|
)
|
||||||
|
or die Template->error();
|
||||||
|
|
||||||
$tt->process( $template,
|
$tt->process( $template,
|
||||||
{
|
{
|
||||||
@@ -68,4 +69,4 @@ sub _process :PROTECTED {
|
|||||||
or croak $INCLUDE_PATH_of{ $ident }, '\\', $template, ' ', $tt->error();
|
or croak $INCLUDE_PATH_of{ $ident }, '\\', $template, ' ', $tt->error();
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Carp qw(confess);
|
use Carp qw(confess);
|
||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %namespace_prefix_map_of :ATTR(:name<namespace_prefix_map> :default<{}>);
|
my %namespace_prefix_map_of :ATTR(:name<namespace_prefix_map> :default<{}>);
|
||||||
my %namespace_map_of :ATTR(:name<namespace_map> :default<{}>);
|
my %namespace_map_of :ATTR(:name<namespace_map> :default<{}>);
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package SOAP::WSDL::Generator::Template::XSD;
|
package SOAP::WSDL::Generator::Template::XSD;
|
||||||
use strict;
|
use strict; use warnings;
|
||||||
use Template;
|
use Template;
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use File::Basename;
|
use File::Basename;
|
||||||
use File::Spec;
|
use File::Spec;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
use SOAP::WSDL::Generator::Visitor::Typemap;
|
use SOAP::WSDL::Generator::Visitor::Typemap;
|
||||||
use SOAP::WSDL::Generator::Visitor::Typelib;
|
use SOAP::WSDL::Generator::Visitor::Typelib;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %definitions_of :ATTR(:name<definitions> :default<()>);
|
my %definitions_of :ATTR(:name<definitions> :default<()>);
|
||||||
my %type_prefix_of :ATTR(:name<type_prefix> :default<()>);
|
my %type_prefix_of :ATTR(:name<type_prefix> :default<()>);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use base qw(SOAP::WSDL::Generator::Visitor
|
|||||||
SOAP::WSDL::Generator::Template
|
SOAP::WSDL::Generator::Template
|
||||||
);
|
);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use Class::Std::Fast::Storable;
|
|||||||
|
|
||||||
use base qw(SOAP::WSDL::Generator::Visitor);
|
use base qw(SOAP::WSDL::Generator::Visitor);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %path_of :ATTR(:name<path> :default<[]>);
|
my %path_of :ATTR(:name<path> :default<[]>);
|
||||||
my %typemap_of :ATTR(:name<typemap> :default<()>);
|
my %typemap_of :ATTR(:name<typemap> :default<()>);
|
||||||
|
|||||||
@@ -32,6 +32,15 @@ this backend:
|
|||||||
|
|
||||||
=head3 Accessing HTTP(S) webservices protected by NTLM authentication
|
=head3 Accessing HTTP(S) webservices protected by NTLM authentication
|
||||||
|
|
||||||
|
You need the L<NTLM|NTLM> distribution installed to access webservices protected
|
||||||
|
by NTLM authentication. More specifically, you need the Authen::NTLM module
|
||||||
|
from this distribution. Note that this is different from the Authen::NTML
|
||||||
|
distribution by Yee Man Chan also available from CPAN.
|
||||||
|
|
||||||
|
Your user credentials usually need to include the windows domain like this:
|
||||||
|
|
||||||
|
testdomain\testuser
|
||||||
|
|
||||||
Besides passing user credentials as when accessing a web service protected
|
Besides passing user credentials as when accessing a web service protected
|
||||||
by basic or digest authentication, you also need to enforce connection
|
by basic or digest authentication, you also need to enforce connection
|
||||||
keep_alive on the transport backens.
|
keep_alive on the transport backens.
|
||||||
@@ -130,4 +139,4 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
$Id: $
|
$Id: $
|
||||||
$HeadURL: $
|
$HeadURL: $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -90,10 +90,8 @@ can just say
|
|||||||
|
|
||||||
Of course this will only work if MyTypes::NewType has a superset of the old
|
Of course this will only work if MyTypes::NewType has a superset of the old
|
||||||
object class' elements.
|
object class' elements.
|
||||||
.
|
|
||||||
|
|
||||||
Future versions will restrict the data returned to the child element's data -
|
Note that XML attribute data is not included in the hash ref output yet.
|
||||||
you should not expect XML attributes to be returned through hash refs.
|
|
||||||
|
|
||||||
=head1 HOW IT WORKS
|
=head1 HOW IT WORKS
|
||||||
|
|
||||||
@@ -405,7 +403,7 @@ supported (yet).
|
|||||||
|
|
||||||
=item * import
|
=item * import
|
||||||
|
|
||||||
The import includion element requires the schemaLocation attribute for
|
The import inclusion element requires the schemaLocation attribute for
|
||||||
resolving the XML schema to import. Support for the import element is
|
resolving the XML schema to import. Support for the import element is
|
||||||
implemented in L<SOAP::WSDL::Expat::WSDLParser|SOAP::WSDL::Expat::WSDLParser>,
|
implemented in L<SOAP::WSDL::Expat::WSDLParser|SOAP::WSDL::Expat::WSDLParser>,
|
||||||
so alternative parsers may or may not support the import element.
|
so alternative parsers may or may not support the import element.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %part_of :ATTR(:name<part> :default<[]>);
|
my %part_of :ATTR(:name<part> :default<[]>);
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %body_of :ATTR(:name<body> :default<[]>);
|
my %body_of :ATTR(:name<body> :default<[]>);
|
||||||
my %header_of :ATTR(:name<header> :default<[]>);
|
my %header_of :ATTR(:name<header> :default<[]>);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %operation_of :ATTR(:name<operation> :default<()>);
|
my %operation_of :ATTR(:name<operation> :default<()>);
|
||||||
my %input_of :ATTR(:name<input> :default<[]>);
|
my %input_of :ATTR(:name<input> :default<[]>);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use Class::Std::Fast::Storable;
|
|||||||
|
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %element_of :ATTR(:name<element> :default<()>);
|
my %element_of :ATTR(:name<element> :default<()>);
|
||||||
my %type_of :ATTR(:name<type> :default<()>);
|
my %type_of :ATTR(:name<type> :default<()>);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %binding_of :ATTR(:name<binding> :default<()>);
|
my %binding_of :ATTR(:name<binding> :default<()>);
|
||||||
my %address_of :ATTR(:name<address> :default<()>);
|
my %address_of :ATTR(:name<address> :default<()>);
|
||||||
|
|||||||
@@ -2,33 +2,26 @@ package SOAP::WSDL::PortType;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
|
use List::Util;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %operation_of :ATTR(:name<operation> :default<()>);
|
my %operation_of :ATTR(:name<operation> :default<()>);
|
||||||
|
|
||||||
my %attributes_of :ATTR();
|
#
|
||||||
|
#=head2 find_operation
|
||||||
|
#
|
||||||
|
#$port_type->find_operation($namespace, $name)
|
||||||
|
#
|
||||||
|
#Returns the PortType's operation object matching the given namespace and
|
||||||
|
#name
|
||||||
|
#
|
||||||
|
|
||||||
%attributes_of = (
|
sub find_operation {
|
||||||
operation => \%operation_of,
|
return List::Util::first {
|
||||||
);
|
( $_->get_targetNamespace() eq $_[1] ) && ( $_->get_name() eq $_[2] )
|
||||||
|
} @{ $operation_of{ ${ $_[0] } } };
|
||||||
# Function factory - we could be writing this method for all %attribute
|
};
|
||||||
# keys, too, but that's just C&P (eehm, Copy & Paste...)
|
|
||||||
foreach my $method(keys %attributes_of ) {
|
|
||||||
no strict qw(refs); ## no critic ProhibitNoStrict
|
|
||||||
|
|
||||||
# ... btw, we mean this method here...
|
|
||||||
*{ "find_$method" } = sub {
|
|
||||||
my ($self, @args) = @_;
|
|
||||||
my @found_at = grep {
|
|
||||||
$_->get_targetNamespace() eq $args[0] &&
|
|
||||||
$_->get_name() eq $args[1]
|
|
||||||
}
|
|
||||||
@{ $attributes_of{ $method }->{ ident $self } };
|
|
||||||
return $found_at[0];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %location :ATTR(:name<location> :default<()>);
|
my %location :ATTR(:name<location> :default<()>);
|
||||||
1;
|
1;
|
||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %use_of :ATTR(:name<use> :default<q{}>);
|
my %use_of :ATTR(:name<use> :default<q{}>);
|
||||||
my %namespace_of :ATTR(:name<namespace> :default<q{}>);
|
my %namespace_of :ATTR(:name<namespace> :default<q{}>);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %use_of :ATTR(:name<use> :default<q{}>);
|
my %use_of :ATTR(:name<use> :default<q{}>);
|
||||||
my %namespace_of :ATTR(:name<namespace> :default<q{}>);
|
my %namespace_of :ATTR(:name<namespace> :default<q{}>);
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use base qw(SOAP::WSDL::Header);
|
use base qw(SOAP::WSDL::Header);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
1;
|
1;
|
||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %style_of :ATTR(:name<style> :default<()>);
|
my %style_of :ATTR(:name<style> :default<()>);
|
||||||
my %soapAction_of :ATTR(:name<soapAction> :default<()>);
|
my %soapAction_of :ATTR(:name<soapAction> :default<()>);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
||||||
use SOAP::WSDL::XSD::Typelib::Element;
|
use SOAP::WSDL::XSD::Typelib::Element;
|
||||||
@@ -37,7 +37,7 @@ __PACKAGE__->_factory(
|
|||||||
sub get_xmlns { return 'http://schemas.xmlsoap.org/soap/envelope/' };
|
sub get_xmlns { return 'http://schemas.xmlsoap.org/soap/envelope/' };
|
||||||
|
|
||||||
__PACKAGE__->__set_name('Fault');
|
__PACKAGE__->__set_name('Fault');
|
||||||
__PACKAGE__->__set_nillable();
|
__PACKAGE__->__set_nillable(0);
|
||||||
__PACKAGE__->__set_minOccurs();
|
__PACKAGE__->__set_minOccurs();
|
||||||
__PACKAGE__->__set_maxOccurs();
|
__PACKAGE__->__set_maxOccurs();
|
||||||
__PACKAGE__->__set_ref('');
|
__PACKAGE__->__set_ref('');
|
||||||
@@ -101,9 +101,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Fault11.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: Fault11.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use Scalar::Util qw(blessed);
|
use Scalar::Util qw(blessed);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
use SOAP::WSDL::Factory::Serializer;
|
use SOAP::WSDL::Factory::Serializer;
|
||||||
|
|
||||||
@@ -129,9 +129,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: XSD.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: XSD.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Serializer/XSD.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Serializer/XSD.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use Scalar::Util qw(blessed);
|
|||||||
use SOAP::WSDL::Factory::Deserializer;
|
use SOAP::WSDL::Factory::Deserializer;
|
||||||
use SOAP::WSDL::Factory::Serializer;
|
use SOAP::WSDL::Factory::Serializer;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %dispatch_to_of :ATTR(:name<dispatch_to> :default<()>);
|
my %dispatch_to_of :ATTR(:name<dispatch_to> :default<()>);
|
||||||
my %action_map_ref_of :ATTR(:name<action_map_ref> :default<{}>);
|
my %action_map_ref_of :ATTR(:name<action_map_ref> :default<{}>);
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ use Class::Std::Fast::Storable;
|
|||||||
|
|
||||||
use base qw(SOAP::WSDL::Server);
|
use base qw(SOAP::WSDL::Server);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# mostly copied from SOAP::Lite. Unfortunately we can't use SOAP::Lite's CGI
|
# mostly copied from SOAP::Lite. Unfortunately we can't use SOAP::Lite's CGI
|
||||||
# server directly - we would have to swap out it's base class...
|
# server directly - we would have to swap out it's base class...
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ use Apache2::Const -compile => qw(
|
|||||||
HTTP_LENGTH_REQUIRED
|
HTTP_LENGTH_REQUIRED
|
||||||
);
|
);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %LOADED_OF = ();
|
my %LOADED_OF = ();
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %port_of :ATTR(:name<port> :default<[]>);
|
my %port_of :ATTR(:name<port> :default<[]>);
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package SOAP::WSDL::Transport::HTTP;
|
package SOAP::WSDL::Transport::HTTP;
|
||||||
use strict;
|
use strict; use warnings;
|
||||||
use base qw(LWP::UserAgent);
|
use base qw(LWP::UserAgent);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# create methods normally inherited from SOAP::Client
|
# create methods normally inherited from SOAP::Client
|
||||||
SUBFACTORY: {
|
SUBFACTORY: {
|
||||||
@@ -90,9 +90,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: HTTP.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: HTTP.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'basic';
|
use Class::Std::Fast::Storable constructor => 'basic';
|
||||||
use SOAP::WSDL::Factory::Transport;
|
use SOAP::WSDL::Factory::Transport;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# register on loading
|
# register on loading
|
||||||
SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ );
|
SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ );
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use SOAP::WSDL::Factory::Transport;
|
use SOAP::WSDL::Factory::Transport;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ );
|
SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ );
|
||||||
SOAP::WSDL::Factory::Transport->register( https => __PACKAGE__ );
|
SOAP::WSDL::Factory::Transport->register( https => __PACKAGE__ );
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package SOAP::WSDL::TypeLookup;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %TYPE_FROM = (
|
my %TYPE_FROM = (
|
||||||
# wsdl:
|
# wsdl:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ use SOAP::WSDL::XSD::Schema::Builtin;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %schema_of :ATTR(:name<schema> :default<[]>);
|
my %schema_of :ATTR(:name<schema> :default<[]>);
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<enumeration value="">
|
#<enumeration value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<attribute
|
#<attribute
|
||||||
# default = string
|
# default = string
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<attributeGroup
|
#<attributeGroup
|
||||||
# id = ID
|
# id = ID
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# only used in SOAP::WSDL - will be obsolete once SOAP::WSDL uses the
|
# only used in SOAP::WSDL - will be obsolete once SOAP::WSDL uses the
|
||||||
# generative approach, too
|
# generative approach, too
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package SOAP::WSDL::XSD::ComplexType;
|
package SOAP::WSDL::XSD::ComplexType;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Carp;
|
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use Scalar::Util qw(blessed);
|
use Scalar::Util qw(blessed);
|
||||||
use base qw/SOAP::WSDL::Base/;
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# id provided by Base
|
# id provided by Base
|
||||||
# name provided by Base
|
# name provided by Base
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# id provided by Base
|
# id provided by Base
|
||||||
# name provided by Base
|
# name provided by Base
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<enumeration value="">
|
#<enumeration value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<pattern value="">
|
#<pattern value="">
|
||||||
|
|
||||||
# id provided by Base
|
# id provided by Base
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<xs:group name="myModelGroup">
|
#<xs:group name="myModelGroup">
|
||||||
# <xs:sequence>
|
# <xs:sequence>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<minExclusive value="">
|
#<minExclusive value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<minExclusive value="">
|
#<minExclusive value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<minExclusive value="">
|
#<minExclusive value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<maxLength value="">
|
#<maxLength value="">
|
||||||
|
|
||||||
@@ -14,5 +14,6 @@ use version; our $VERSION = qv('2.00.03');
|
|||||||
|
|
||||||
# may be defined as atomic simpleType
|
# may be defined as atomic simpleType
|
||||||
my %value_of :ATTR(:name<value> :default<()>);
|
my %value_of :ATTR(:name<value> :default<()>);
|
||||||
|
my %fixed_of :ATTR(:name<fixed> :default<()>);
|
||||||
|
|
||||||
1;
|
1;
|
||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<minExclusive value="">
|
#<minExclusive value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<minExclusive value="">
|
#<minExclusive value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<minExclusive value="">
|
#<minExclusive value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<pattern value="">
|
#<pattern value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# child elements
|
# child elements
|
||||||
my %attributeGroup_of :ATTR(:name<attributeGroup> :default<[]>);
|
my %attributeGroup_of :ATTR(:name<attributeGroup> :default<[]>);
|
||||||
|
|||||||
@@ -6,10 +6,12 @@ use SOAP::WSDL::XSD::Schema;
|
|||||||
use SOAP::WSDL::XSD::Builtin;
|
use SOAP::WSDL::XSD::Builtin;
|
||||||
use base qw(SOAP::WSDL::XSD::Schema);
|
use base qw(SOAP::WSDL::XSD::Schema);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
# all builtin types - add validation (e.g. content restrictions) later...
|
# all builtin types - add validation (e.g. content restrictions) later...
|
||||||
my %BUILTINS = (
|
my %BUILTINS = (
|
||||||
|
'anyType' => {},
|
||||||
|
'anySimpleType' => {},
|
||||||
'anyURI' => {},
|
'anyURI' => {},
|
||||||
'boolean' => {},
|
'boolean' => {},
|
||||||
'base64Binary' => {},
|
'base64Binary' => {},
|
||||||
@@ -98,9 +100,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 701 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Builtin.pm 701 2008-06-05 19:19:16Z kutterma $
|
$Id: Builtin.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Schema/Builtin.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Schema/Builtin.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %length_of :ATTR(:name<length> :default<[]>);
|
my %length_of :ATTR(:name<length> :default<[]>);
|
||||||
my %minLength_of :ATTR(:name<minLength> :default<[]>);
|
my %minLength_of :ATTR(:name<minLength> :default<[]>);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<totalDigits value="">
|
#<totalDigits value="">
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
|
|
||||||
use base qw(SOAP::WSDL::XSD::Typelib::Element);
|
use base qw(SOAP::WSDL::XSD::Typelib::Element);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub start_tag {
|
sub start_tag {
|
||||||
# my ($self, $opt, $value) = @_;
|
# my ($self, $opt, $value) = @_;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub serialize {
|
sub serialize {
|
||||||
# we work on @_ for performance.
|
# we work on @_ for performance.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin::anyType;
|
use SOAP::WSDL::XSD::Typelib::Builtin::anyType;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
use SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package SOAP::WSDL::XSD::Typelib::Builtin::IDREFS;
|
package SOAP::WSDL::XSD::Typelib::Builtin::IDREFS;
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable;
|
use Class::Std::Fast::Storable constructor => 'none', cache => 1;
|
||||||
use base qw(
|
use base qw(
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::list
|
SOAP::WSDL::XSD::Typelib::Builtin::list
|
||||||
SOAP::WSDL::XSD::Typelib::Builtin::IDREF);
|
SOAP::WSDL::XSD::Typelib::Builtin::IDREF);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub get_xmlns { 'http://www.w3.org/2001/XMLSchema' };
|
sub get_xmlns { 'http://www.w3.org/2001/XMLSchema' };
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Class::Std::Fast::Storable constructor => 'none', cache => 1;
|
use Class::Std::Fast::Storable constructor => 'none', cache => 1;
|
||||||
|
|
||||||
use version; our $VERSION= qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
|
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
|
||||||
|
|
||||||
|
|||||||
@@ -17,15 +17,12 @@ sub set_value {
|
|||||||
[\+\-] \d{2} \: \d{2} $
|
[\+\-] \d{2} \: \d{2} $
|
||||||
}xms
|
}xms
|
||||||
);
|
);
|
||||||
no warnings qw(uninitialized);
|
|
||||||
# strptime sets empty values to undef - and strftime doesn't like that...
|
# strptime sets empty values to undef - and strftime doesn't like that...
|
||||||
my @time_from = map { ! defined $_ ? 0 : $_ } strptime($_[1]);
|
my @time_from = map { ! defined $_ ? 0 : $_ } strptime($_[1]);
|
||||||
|
|
||||||
undef $time_from[$#time_from];
|
undef $time_from[-1];
|
||||||
|
|
||||||
my $time_str = do { # no warnings;
|
my $time_str = strftime( '%Y-%m-%dT%H:%M:%S%z', @time_from );
|
||||||
strftime( '%Y-%m-%dT%H:%M:%S%z', @time_from );
|
|
||||||
};
|
|
||||||
|
|
||||||
# insert : in timezone info
|
# insert : in timezone info
|
||||||
substr $time_str, -2, 0, ':';
|
substr $time_str, -2, 0, ':';
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ use Date::Format;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none', cache => 1;
|
use Class::Std::Fast::Storable constructor => 'none', cache => 1;
|
||||||
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
|
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType);
|
||||||
|
|
||||||
use version; our $VERSION=qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
sub set_value {
|
sub set_value {
|
||||||
# use set_value from base class if we have a XML-Time format
|
# use set_value from base class if we have a XML-Time format
|
||||||
@@ -37,7 +37,6 @@ sub set_value {
|
|||||||
my $time_str = strftime( '%H:%M:%S%z', @time_from );
|
my $time_str = strftime( '%H:%M:%S%z', @time_from );
|
||||||
substr $time_str, -2, 0, ':';
|
substr $time_str, -2, 0, ':';
|
||||||
$_[0]->SUPER::set_value($time_str);
|
$_[0]->SUPER::set_value($time_str);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ require Class::Std::Fast::Storable;
|
|||||||
|
|
||||||
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anyType);
|
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anyType);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.1.0');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %ELEMENTS_FROM; # order of elements in a class
|
my %ELEMENTS_FROM; # order of elements in a class
|
||||||
my %ATTRIBUTES_OF; # references to value hashes
|
my %ATTRIBUTES_OF; # references to value hashes
|
||||||
@@ -508,9 +508,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 670 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: ComplexType.pm 670 2008-05-14 07:39:14Z kutterma $
|
$Id: ComplexType.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
package SOAP::WSDL::XSD::Typelib::Element;
|
package SOAP::WSDL::XSD::Typelib::Element;
|
||||||
|
use strict; use warnings;
|
||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use strict;
|
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
my %NAME;
|
my %NAME;
|
||||||
my %NILLABLE;
|
my %NILLABLE;
|
||||||
@@ -25,15 +24,17 @@ BLOCK: {
|
|||||||
_maxOccurs => \%MAX_OCCURS,
|
_maxOccurs => \%MAX_OCCURS,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
# create getters / setters for all elements' class data
|
||||||
no strict qw(refs);
|
no strict qw(refs);
|
||||||
while (my ($name, $value) = each %method_lookup ) {
|
while (my ($name, $value) = each %method_lookup ) {
|
||||||
*{ "__set$name" } = sub {
|
*{ "__set$name" } = sub {
|
||||||
# TODO the "or die" is bullshit - at least the error message is wrong...
|
@_ or die "Cannot call __set$name without parameter";
|
||||||
my $class = ref $_[0] || $_[0] or die "Cannot call __set$name without parameter";
|
my $class = ref $_[0] || $_[0];
|
||||||
$value->{ $class } = $_[1];
|
$value->{ $class } = $_[1];
|
||||||
};
|
};
|
||||||
*{ "__get$name" } = sub {
|
*{ "__get$name" } = sub {
|
||||||
my $class = ref $_[0] || $_[0] or die "Cannot call __get$name as function";
|
@_ or die "Cannot call __set$name as function";
|
||||||
|
my $class = ref $_[0] || $_[0];
|
||||||
return $value->{ $class };
|
return $value->{ $class };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -176,9 +177,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 701 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: Element.pm 701 2008-06-05 19:19:16Z kutterma $
|
$Id: Element.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/Element.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/Element.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -1,16 +1,15 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
package SOAP::WSDL::XSD::Typelib::SimpleType;
|
package SOAP::WSDL::XSD::Typelib::SimpleType;
|
||||||
use strict;
|
use strict; use warnings;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
package SOAP::WSDL::XSD::Typelib::SimpleType::restriction;
|
package SOAP::WSDL::XSD::Typelib::SimpleType::restriction;
|
||||||
use strict;
|
use strict;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||||
use base qw(SOAP::WSDL::XSD::Typelib::SimpleType);
|
use base qw(SOAP::WSDL::XSD::Typelib::SimpleType);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.03');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
1;
|
1;
|
||||||
__END__
|
__END__
|
||||||
@@ -133,9 +132,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 677 $
|
$Rev: 728 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
$Id: SimpleType.pm 677 2008-05-18 20:17:56Z kutterma $
|
$Id: SimpleType.pm 728 2008-07-13 19:28:50Z kutterma $
|
||||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm $
|
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use warnings;
|
|||||||
use Class::Std::Fast::Storable constructor => 'none';
|
use Class::Std::Fast::Storable constructor => 'none';
|
||||||
use base qw(SOAP::WSDL::Base);
|
use base qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
use version; our $VERSION = qv('2.00.04');
|
use version; our $VERSION = qv('2.00.05');
|
||||||
|
|
||||||
#<pattern value="">
|
#<pattern value="">
|
||||||
|
|
||||||
|
|||||||
11
t/094_cpan_meta.t
Normal file
11
t/094_cpan_meta.t
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
use Test::More;
|
||||||
|
|
||||||
|
if (not $ENV{RELEASE_TESTING} ) {
|
||||||
|
my $msg = 'Author test. Set $ENV{RELEASE_TESTING} to a true value to run.';
|
||||||
|
plan( skip_all => $msg );
|
||||||
|
}
|
||||||
|
|
||||||
|
eval { require Test::CPAN::Meta }
|
||||||
|
or plan skip_all => "Test::CPAN::Meta required for testing META.yml";
|
||||||
|
|
||||||
|
Test::CPAN::Meta::meta_yaml_ok();
|
||||||
13
t/SOAP/WSDL/Base.t
Normal file
13
t/SOAP/WSDL/Base.t
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
use strict; use warnings;
|
||||||
|
use Test::More tests => 6;
|
||||||
|
|
||||||
|
use_ok qw(SOAP::WSDL::Base);
|
||||||
|
|
||||||
|
my $obj = SOAP::WSDL::Base->new();
|
||||||
|
|
||||||
|
ok $obj->push_annotation('foo');
|
||||||
|
ok $obj->push_annotation('foo');
|
||||||
|
ok $obj->push_annotation('foo');
|
||||||
|
|
||||||
|
ok $obj->set_namespace('foo');
|
||||||
|
ok $obj->push_namespace('foo');
|
||||||
@@ -8,7 +8,7 @@ eval { require SOAP::Lite; 1; } or do {
|
|||||||
print "# Using SOAP::Lite $SOAP::Lite::VERSION\n";
|
print "# Using SOAP::Lite $SOAP::Lite::VERSION\n";
|
||||||
|
|
||||||
use lib '../../../lib';
|
use lib '../../../lib';
|
||||||
plan tests => 10;
|
plan tests => 13;
|
||||||
use_ok qw(SOAP::WSDL::Deserializer::SOM);
|
use_ok qw(SOAP::WSDL::Deserializer::SOM);
|
||||||
|
|
||||||
ok my $deserializer = SOAP::WSDL::Deserializer::SOM->new();
|
ok my $deserializer = SOAP::WSDL::Deserializer::SOM->new();
|
||||||
@@ -30,8 +30,19 @@ eval { $deserializer->generate_fault({
|
|||||||
message => 'Teststring'
|
message => 'Teststring'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
ok $@->isa('SOAP::Fault');
|
|
||||||
|
|
||||||
is $@->faultcode(), 'Test';
|
my $fault = $@;
|
||||||
is $@->faultactor(), 'soap:Server';
|
|
||||||
is $@->faultstring(), 'Teststring';
|
isa_ok $fault, 'SOAP::Fault';
|
||||||
|
|
||||||
|
is $fault->faultcode(), 'Test';
|
||||||
|
is $fault->faultactor(), 'soap:Server';
|
||||||
|
is $fault->faultstring(), 'Teststring';
|
||||||
|
|
||||||
|
$fault = $deserializer->deserialize('');
|
||||||
|
|
||||||
|
isa_ok $fault, 'SOAP::Fault';
|
||||||
|
|
||||||
|
is $fault->faultactor(), 'soap:Server';
|
||||||
|
like $fault->faultstring(), qr{no \s element \s found}x;
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Test::More tests => 14; #qw(no_plan);
|
use Test::More tests => 16; #qw(no_plan);
|
||||||
use File::Spec;
|
use File::Spec;
|
||||||
use File::Basename;
|
use File::Basename;
|
||||||
|
|
||||||
|
my $HAVE_TEST_WARN =eval { require Test::Warn; };
|
||||||
|
|
||||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||||
$path =~s{\\}{/}xg; # stupid windows workaround: $path works with /, but not
|
$path =~s{\\}{/}xg; # stupid windows workaround: $path works with /, but not
|
||||||
# with \
|
# with \
|
||||||
@@ -16,25 +18,25 @@ my $definitions = $parser->parse_file(
|
|||||||
"$path/../../../acceptance/wsdl/WSDLParser.wsdl"
|
"$path/../../../acceptance/wsdl/WSDLParser.wsdl"
|
||||||
);
|
);
|
||||||
|
|
||||||
use Data::Dumper;
|
|
||||||
my $schema = $definitions->first_types()->get_schema()->[1];
|
my $schema = $definitions->first_types()->get_schema()->[1];
|
||||||
my $attr = $schema->get_element()->[0]->first_complexType->first_attribute();
|
my $attr = $schema->get_element()->[0]->first_complexType->first_attribute();
|
||||||
ok $attr->get_name('testAttribute'), 'attribute name';
|
ok $attr->get_name('testAttribute'), 'attribute name';
|
||||||
ok $attr->get_type('xs:string'), 'attribute type';
|
ok $attr->get_type('xs:string'), 'attribute type';
|
||||||
|
|
||||||
|
if ($HAVE_TEST_WARN) {
|
||||||
#use SOAP::WSDL::Generator::Template::XSD;
|
Test::Warn::warning_like( sub {
|
||||||
#my $generator = SOAP::WSDL::Generator::Template::XSD->new({
|
$definitions = $parser->parse_uri(
|
||||||
# definitions => $definitions,
|
"file://$path/../../../acceptance/wsdl/WSDLParser-import.wsdl"
|
||||||
# type_prefix => 'Foo',
|
);
|
||||||
# element_prefix => 'Foo',
|
}, qr{already \s imported}x, 'duplicate import warning')
|
||||||
# typemap_prefix => 'Foo',
|
}
|
||||||
# OUTPUT_PATH => "$path/testlib",
|
else {
|
||||||
#});
|
SKIP: { skip 'Cannot test warnings without Test::Warn', 1; };
|
||||||
|
local $SIG{__WARN__} = sub {};
|
||||||
$definitions = $parser->parse_uri(
|
$definitions = $parser->parse_uri(
|
||||||
"file://$path/../../../acceptance/wsdl/WSDLParser-import.wsdl"
|
"file://$path/../../../acceptance/wsdl/WSDLParser-import.wsdl"
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
ok my $service = $definitions->first_service();
|
ok my $service = $definitions->first_service();
|
||||||
is $service->get_name(), 'Service1', 'wsdl:import service name';
|
is $service->get_name(), 'Service1', 'wsdl:import service name';
|
||||||
@@ -77,9 +79,20 @@ like $@, qr{\A cannot \s import \s document \s from \s namespace \s
|
|||||||
$SIG{ALRM} = sub { die 'looped'};
|
$SIG{ALRM} = sub { die 'looped'};
|
||||||
alarm 1;
|
alarm 1;
|
||||||
|
|
||||||
$definitions = $parser->parse_file(
|
if ($HAVE_TEST_WARN) {
|
||||||
"$path/../../../acceptance/wsdl/WSDLParser_import_loop.wsdl"
|
Test::Warn::warning_like( sub {
|
||||||
);
|
$definitions = $parser->parse_uri(
|
||||||
|
"file://$path/../../../acceptance/wsdl/WSDLParser_import_loop.wsdl"
|
||||||
|
);
|
||||||
|
}, qr{already \s imported}x, 'duplicate import warning');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
SKIP: { skip 'Cannot test warnings without Test::Warn', 1; };
|
||||||
|
local $SIG{__WARN__} = sub {};
|
||||||
|
$definitions = $parser->parse_uri(
|
||||||
|
"file://$path/../../../acceptance/wsdl/WSDLParser_import_loop.wsdl"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
alarm 0;
|
alarm 0;
|
||||||
pass 'import loop';
|
pass 'import loop';
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user