Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
080b211e4e | ||
|
|
fa4d5dd884 | ||
|
|
3d11524449 | ||
|
|
21efa286af |
19
Build.PL
19
Build.PL
@@ -4,13 +4,17 @@ $build = Module::Build->new(
|
||||
create_makefile_pl => 'passthrough',
|
||||
dist_abstract => 'SOAP with WSDL support',
|
||||
dist_name => 'SOAP-WSDL',
|
||||
dist_version => '2.00_17',
|
||||
dist_version => '2.00_22',
|
||||
module_name => 'SOAP::WSDL',
|
||||
license => 'artistic',
|
||||
requires => {
|
||||
'Class::Std' => q/v0.0.8/,
|
||||
# 5.6.x is way too buggy and has no unicode support
|
||||
# for us. SOAP-WSDL relies on unicode (WS-I demands it)
|
||||
# and triggers several 5.6 bugs...
|
||||
'perl' => '5.8.0',
|
||||
'Class::Std' => q/v0.0.8/,
|
||||
'Class::Std::Storable' => 0,
|
||||
'Data::Dumper' => 0,
|
||||
'Data::Dumper' => 0,
|
||||
'Date::Parse' => 0,
|
||||
'Date::Format' => 0,
|
||||
'File::Basename' => 0,
|
||||
@@ -25,7 +29,7 @@ $build = Module::Build->new(
|
||||
buildrequires => {
|
||||
'Class::Std' => q/v0.0.8/,
|
||||
'Class::Std::Storable' => 0,
|
||||
'Cwd' => 0,
|
||||
'Cwd' => 0,
|
||||
'Date::Parse' => 0,
|
||||
'Date::Format' => 0,
|
||||
'Getopt::Long' => 0,
|
||||
@@ -33,13 +37,18 @@ $build = Module::Build->new(
|
||||
'LWP::UserAgent' => 0,
|
||||
'File::Basename' => 0,
|
||||
'File::Path' => 0,
|
||||
'File::Spec' => 0,
|
||||
'File::Spec' => 0,
|
||||
'Storable' => 0,
|
||||
'Test::More' => 0,
|
||||
'Template' => 0,
|
||||
'XML::Parser::Expat' => 0,
|
||||
},
|
||||
recursive_test_files => 1,
|
||||
meta_add => {
|
||||
no_index => {
|
||||
directory => 'lib/SOAP/WSDL/Generator/Template/XSD/',
|
||||
},
|
||||
}
|
||||
);
|
||||
$build->add_build_element('tt');
|
||||
$build->create_build_script;
|
||||
|
||||
89
CHANGES
89
CHANGES
@@ -1,4 +1,4 @@
|
||||
Release notes for SOAP::WSDL 2.00_17
|
||||
Release notes for SOAP::WSDL 2.00_22
|
||||
-------
|
||||
|
||||
I'm proud to present a new pre-release version of SOAP::WSDL.
|
||||
@@ -20,7 +20,7 @@ Features:
|
||||
the module's internals
|
||||
* Thorough test suite
|
||||
o SOAP::WSDL is heavily regression tested, with a test coverage of
|
||||
over 90%.
|
||||
over 95%.
|
||||
* SOAP::Lite like look and feel
|
||||
o Where possible, SOAP::WSDL mimics SOAP::Lite's API to allow easy migrations
|
||||
* XML schema based class library for creating data objects
|
||||
@@ -33,6 +33,91 @@ Features:
|
||||
|
||||
The following changes have been made:
|
||||
|
||||
2.00_22
|
||||
----
|
||||
|
||||
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):
|
||||
|
||||
* [ 1817697 ] Dots in service/port names lead to broken interfaces
|
||||
* [ 1817699 ] Templates not found on all OS
|
||||
|
||||
The following uncategorized improvements have been made:
|
||||
|
||||
* Code cleanup. The XSD library has been cleaned up a bit. Should result
|
||||
in a minor speedup in serializing and deserializing XML messages,
|
||||
|
||||
|
||||
2.00_21 - not released
|
||||
----
|
||||
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):
|
||||
|
||||
* [ 1810058 ] .tt's pod indexed on CPAN (again)
|
||||
* [ 1809284 ] Rename SOAP::WSDL::Deserializer::SOAP11 to ::XSD
|
||||
|
||||
The following uncategorized improvements have been made:
|
||||
|
||||
* Requires at least perl 5.8.0. This is due to a bug in perls before -
|
||||
see http://aspn.activestate.com/ASPN/Mail/Message/perl5-porters/929746
|
||||
|
||||
2.00_20
|
||||
----
|
||||
The following features were added (the numbers in square brackets are the
|
||||
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):
|
||||
|
||||
* [ 1815646 ] Only include last part of port name in interface
|
||||
* [ 1815648 ] Methods with empty body cannot be called as ->method()
|
||||
* [ 1815651 ] Empty complexType definitions not supported
|
||||
|
||||
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):
|
||||
|
||||
* [ 1815643 ] ComplexTypes cannot be freezed/thawed
|
||||
|
||||
The following uncategorized improvements have been made:
|
||||
|
||||
* WSDL definitions are decoded into utf8
|
||||
* fixed tests to use correct path on windows
|
||||
|
||||
2.00_19
|
||||
----
|
||||
The following features were added (the numbers in square brackets are the
|
||||
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):
|
||||
|
||||
* [ 1810395 ] Implement complexType complexContent extension
|
||||
|
||||
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):
|
||||
|
||||
* [ 1813144 ] Typemap not used in interface class
|
||||
* [ 1810058 ] .tt's pod indexed on CPAN
|
||||
|
||||
The following uncategorized improvements have been made:
|
||||
|
||||
* Documentation improvements
|
||||
|
||||
2.00_18
|
||||
----
|
||||
The following features were added (the numbers in square brackets are the
|
||||
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):
|
||||
|
||||
* [ 1790983 ] Create generator Plugin API
|
||||
Generator factory is SOAP::WSDL::Factory::Generator
|
||||
|
||||
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):
|
||||
|
||||
* [ 1805252 ] t/SOAP/WSDL/XSD/Typelib/Builtin/004_time.t fails
|
||||
The default timezone conversion has been fixed.
|
||||
|
||||
The following uncategorized improvements have been made:
|
||||
|
||||
* Documentation improvements
|
||||
* Test updates
|
||||
* readable() has been converted into a no-op, as it already had no effect
|
||||
any more
|
||||
|
||||
2.00_17
|
||||
----
|
||||
The following features were added (the numbers in square brackets are the
|
||||
|
||||
631
MANIFEST
631
MANIFEST
@@ -1,312 +1,319 @@
|
||||
benchmark/01_expat.t
|
||||
benchmark/smallprof.out
|
||||
benchmark/smallprof.out-whitespace
|
||||
benchmark/XSD/01_anyType.t
|
||||
benchmark/XSD/02_anySimpleType.t
|
||||
benchmark/XSD/03_string.t
|
||||
bin/wsdl2perl.pl
|
||||
Build.PL
|
||||
CHANGES
|
||||
example/fortune.pl
|
||||
example/lib/MyElements/CountCookies.pm
|
||||
example/lib/MyElements/CountCookiesResponse.pm
|
||||
example/lib/MyElements/GetCitiesByCountry.pm
|
||||
example/lib/MyElements/GetCitiesByCountryResponse.pm
|
||||
example/lib/MyElements/GetFortuneCookie.pm
|
||||
example/lib/MyElements/GetFortuneCookieResponse.pm
|
||||
example/lib/MyElements/GetSpecificCookie.pm
|
||||
example/lib/MyElements/GetSpecificCookieResponse.pm
|
||||
example/lib/MyElements/GetWeather.pm
|
||||
example/lib/MyElements/GetWeatherResponse.pm
|
||||
example/lib/MyElements/int.pm
|
||||
example/lib/MyElements/readNodeCount.pm
|
||||
example/lib/MyElements/readNodeCountResponse.pm
|
||||
example/lib/MyElements/string.pm
|
||||
example/lib/MyInterfaces/FullerData_x0020_Fortune_x0020_Cookie.pm
|
||||
example/lib/MyInterfaces/GlobalWeather.pm
|
||||
example/lib/MyTypemaps/FullerData_x0020_Fortune_x0020_Cookie.pm
|
||||
example/lib/MyTypemaps/GlobalWeather.pm
|
||||
example/visitor/visitor.pl
|
||||
example/weather.pl
|
||||
example/weather_wsdl.pl
|
||||
example/wsdl/FortuneCookie.xml
|
||||
example/wsdl/genericbarcode.xml
|
||||
example/wsdl/globalweather.xml
|
||||
HACKING
|
||||
lib/SOAP/WSDL.pm
|
||||
lib/SOAP/WSDL/Base.pm
|
||||
lib/SOAP/WSDL/Binding.pm
|
||||
lib/SOAP/WSDL/Client.pm
|
||||
lib/SOAP/WSDL/Client/Base.pm
|
||||
lib/SOAP/WSDL/Definitions.pm
|
||||
lib/SOAP/WSDL/Deserializer/Hash.pm
|
||||
lib/SOAP/WSDL/Deserializer/SOAP11.pm
|
||||
lib/SOAP/WSDL/Deserializer/SOM.pm
|
||||
lib/SOAP/WSDL/Expat/Base.pm
|
||||
lib/SOAP/WSDL/Expat/Message2Hash.pm
|
||||
lib/SOAP/WSDL/Expat/MessageParser.pm
|
||||
lib/SOAP/WSDL/Expat/MessageStreamParser.pm
|
||||
lib/SOAP/WSDL/Expat/WSDLParser.pm
|
||||
lib/SOAP/WSDL/Factory/Deserializer.pm
|
||||
lib/SOAP/WSDL/Factory/Serializer.pm
|
||||
lib/SOAP/WSDL/Factory/Transport.pm
|
||||
lib/SOAP/WSDL/Generator/Template.pm
|
||||
lib/SOAP/WSDL/Generator/Template/XSD.pm
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/_type_class.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/all.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/atomicTypes.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/complexContent.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/contentModel.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/all.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/choice.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/complexContent.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/structure.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/element.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/element/POD/structure.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/Body.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/Header.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/Operation.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Element.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Message.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/method_info.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Operation.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Part.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Type.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/atomicType.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/contentModel.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/list.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/POD/list.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/POD/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/POD/structure.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Typemap.tt
|
||||
lib/SOAP/WSDL/Generator/Visitor.pm
|
||||
lib/SOAP/WSDL/Generator/Visitor/Typelib.pm
|
||||
lib/SOAP/WSDL/Generator/Visitor/Typemap.pm
|
||||
lib/SOAP/WSDL/Manual.pod
|
||||
lib/SOAP/WSDL/Manual/Glossary.pod
|
||||
lib/SOAP/WSDL/Manual/WS_I.pod
|
||||
lib/SOAP/WSDL/Manual/XSD.pod
|
||||
lib/SOAP/WSDL/Message.pm
|
||||
lib/SOAP/WSDL/Operation.pm
|
||||
lib/SOAP/WSDL/OpMessage.pm
|
||||
lib/SOAP/WSDL/Parser.pod
|
||||
lib/SOAP/WSDL/Part.pm
|
||||
lib/SOAP/WSDL/Port.pm
|
||||
lib/SOAP/WSDL/PortType.pm
|
||||
lib/SOAP/WSDL/Serializer/SOAP11.pm
|
||||
lib/SOAP/WSDL/Service.pm
|
||||
lib/SOAP/WSDL/SOAP/Address.pm
|
||||
lib/SOAP/WSDL/SOAP/Body.pm
|
||||
lib/SOAP/WSDL/SOAP/Header.pm
|
||||
lib/SOAP/WSDL/SOAP/HeaderFault.pm
|
||||
lib/SOAP/WSDL/SOAP/Operation.pm
|
||||
lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm
|
||||
lib/SOAP/WSDL/Transport/HTTP.pm
|
||||
lib/SOAP/WSDL/Transport/Loopback.pm
|
||||
lib/SOAP/WSDL/Transport/Test.pm
|
||||
lib/SOAP/WSDL/TypeLookup.pm
|
||||
lib/SOAP/WSDL/Types.pm
|
||||
lib/SOAP/WSDL/XSD/Builtin.pm
|
||||
lib/SOAP/WSDL/XSD/ComplexType.pm
|
||||
lib/SOAP/WSDL/XSD/Element.pm
|
||||
lib/SOAP/WSDL/XSD/Schema.pm
|
||||
lib/SOAP/WSDL/XSD/Schema/Builtin.pm
|
||||
lib/SOAP/WSDL/XSD/SimpleType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/date.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/decimal.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/double.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/duration.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/float.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gDay.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gYear.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/ID.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/int.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/integer.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/language.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/long.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/Name.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NCName.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/QName.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/short.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Element.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||
LICENSE
|
||||
MAINFEST
|
||||
Makefile.PL
|
||||
MANIFEST
|
||||
META.yml
|
||||
README
|
||||
t/001_use.t
|
||||
t/002_parse_wsdl.t
|
||||
t/003_wsdl_based_serializer.t
|
||||
t/004_parse_wsdl.t
|
||||
t/005_parse_contributed.t
|
||||
t/006_client.t
|
||||
t/007_envelope.t
|
||||
t/008_client_wsdl_complexType.t
|
||||
t/009_data_classes.t
|
||||
t/011_simpleType.t
|
||||
t/012_element.t
|
||||
t/013_complexType.t
|
||||
t/016_client_object.t
|
||||
t/017_generator.t
|
||||
t/018_compat_2_00_15-generator.t
|
||||
t/020_storable.t
|
||||
t/098_pod.t
|
||||
t/acceptance/results/03_complexType-all.xml
|
||||
t/acceptance/results/03_complexType-sequence.xml
|
||||
t/acceptance/results/04_element-simpleType.xml
|
||||
t/acceptance/results/04_element.xml
|
||||
t/acceptance/results/05_simpleType-list.xml
|
||||
t/acceptance/results/05_simpleType-restriction.xml
|
||||
t/acceptance/results/05_simpleType-union.xml
|
||||
t/acceptance/results/11_helloworld.xml
|
||||
t/acceptance/wsdl/006_sax_client.wsdl
|
||||
t/acceptance/wsdl/008_complexType.wsdl
|
||||
t/acceptance/wsdl/02_port.wsdl
|
||||
t/acceptance/wsdl/03_complexType-all.wsdl
|
||||
t/acceptance/wsdl/03_complexType-element-ref.wsdl
|
||||
t/acceptance/wsdl/03_complexType-sequence.wsdl
|
||||
t/acceptance/wsdl/04_element-simpleType.wsdl
|
||||
t/acceptance/wsdl/04_element.wsdl
|
||||
t/acceptance/wsdl/05_simpleType-list.wsdl
|
||||
t/acceptance/wsdl/05_simpleType-restriction.wsdl
|
||||
t/acceptance/wsdl/05_simpleType-union.wsdl
|
||||
t/acceptance/wsdl/10_helloworld.asmx.xml
|
||||
t/acceptance/wsdl/11_helloworld.wsdl
|
||||
t/acceptance/wsdl/contributed/Axis.wsdl
|
||||
t/acceptance/wsdl/contributed/ETest.wsdl
|
||||
t/acceptance/wsdl/contributed/OITest.wsdl
|
||||
t/acceptance/wsdl/contributed/tools.wsdl
|
||||
t/acceptance/wsdl/elementAtomicComplexType.xml
|
||||
t/acceptance/wsdl/email_account.wsdl
|
||||
t/acceptance/wsdl/generator_test.wsdl
|
||||
t/acceptance/wsdl/generator_unsupported_test.wsdl
|
||||
t/acceptance/wsdl/message_gateway.wsdl
|
||||
t/contributed.wsdl
|
||||
t/Expat/01_expat.t
|
||||
t/Expat/03_wsdl.t
|
||||
t/lib/MyComplexType.pm
|
||||
t/lib/MyElement.pm
|
||||
t/lib/MyElements/GetWeather.pm
|
||||
t/lib/MyElements/GetWeatherResponse.pm
|
||||
t/lib/MyInterfaces/GlobalWeather.pm
|
||||
t/lib/MySimpleType.pm
|
||||
t/lib/MyTypemaps/GlobalWeather.pm
|
||||
t/lib/Test/SOAPMessage.pm
|
||||
t/lib/Typelib/Base.pm
|
||||
t/lib/Typelib/TEnqueueMessage.pm
|
||||
t/lib/Typelib/TMessage.pm
|
||||
t/SOAP/WSDL/01_use.t
|
||||
t/SOAP/WSDL/02_port.t
|
||||
t/SOAP/WSDL/03_complexType-all.t
|
||||
t/SOAP/WSDL/03_complexType-choice.t
|
||||
t/SOAP/WSDL/03_complexType-complexContent.t
|
||||
t/SOAP/WSDL/03_complexType-element-ref.t
|
||||
t/SOAP/WSDL/03_complexType-group.t
|
||||
t/SOAP/WSDL/03_complexType-sequence.t
|
||||
t/SOAP/WSDL/03_complexType-simpleContent.t
|
||||
t/SOAP/WSDL/04_element-complexType.t
|
||||
t/SOAP/WSDL/04_element-simpleType.t
|
||||
t/SOAP/WSDL/04_element.t
|
||||
t/SOAP/WSDL/05_simpleType-list.t
|
||||
t/SOAP/WSDL/05_simpleType-restriction.t
|
||||
t/SOAP/WSDL/05_simpleType-union.t
|
||||
t/SOAP/WSDL/06_keep_alive.t
|
||||
t/SOAP/WSDL/11_helloworld.NET.t
|
||||
t/SOAP/WSDL/12_binding.t
|
||||
t/SOAP/WSDL/Deserializer/Hash.t
|
||||
t/SOAP/WSDL/Deserializer/SOM.t
|
||||
t/SOAP/WSDL/Deserializer/XSD.t
|
||||
t/SOAP/WSDL/Factory/Deserializer.t
|
||||
t/SOAP/WSDL/Factory/Serializer.t
|
||||
t/SOAP/WSDL/Factory/Transport.t
|
||||
t/SOAP/WSDL/Generator/Template.t
|
||||
t/SOAP/WSDL/Generator/Visitor.t
|
||||
t/SOAP/WSDL/Generator/Visitor/Typemap.t
|
||||
t/SOAP/WSDL/Generator/XSD.t
|
||||
t/SOAP/WSDL/Generator/XSD_unsupported.t
|
||||
t/SOAP/WSDL/Transport/01_Test.t
|
||||
t/SOAP/WSDL/Transport/02_HTTP.t
|
||||
t/SOAP/WSDL/Transport/acceptance/test2.xml
|
||||
t/SOAP/WSDL/Transport/acceptance/test3.xml
|
||||
t/SOAP/WSDL/Typelib/Fault11.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/anyType.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/boolean.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/byte.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/date.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/decimal.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/double.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/float.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/ID.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/int.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/integer.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/long.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/Name.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NCName.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/short.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/string.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/time.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/token.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.t
|
||||
t/test.wsdl
|
||||
TEST_COVERAGE
|
||||
TODO
|
||||
benchmark/01_expat.t
|
||||
benchmark/smallprof.out
|
||||
benchmark/smallprof.out-whitespace
|
||||
benchmark/XSD/01_anyType.t
|
||||
benchmark/XSD/02_anySimpleType.t
|
||||
benchmark/XSD/03_string.t
|
||||
bin/wsdl2perl.pl
|
||||
Build.PL
|
||||
CHANGES
|
||||
example/fortune.pl
|
||||
example/lib/MyElements/CountCookies.pm
|
||||
example/lib/MyElements/CountCookiesResponse.pm
|
||||
example/lib/MyElements/GetCitiesByCountry.pm
|
||||
example/lib/MyElements/GetCitiesByCountryResponse.pm
|
||||
example/lib/MyElements/GetFortuneCookie.pm
|
||||
example/lib/MyElements/GetFortuneCookieResponse.pm
|
||||
example/lib/MyElements/GetSpecificCookie.pm
|
||||
example/lib/MyElements/GetSpecificCookieResponse.pm
|
||||
example/lib/MyElements/GetWeather.pm
|
||||
example/lib/MyElements/GetWeatherResponse.pm
|
||||
example/lib/MyElements/int.pm
|
||||
example/lib/MyElements/readNodeCount.pm
|
||||
example/lib/MyElements/readNodeCountResponse.pm
|
||||
example/lib/MyElements/string.pm
|
||||
example/lib/MyInterfaces/FullerData_x0020_Fortune_x0020_Cookie.pm
|
||||
example/lib/MyInterfaces/GlobalWeather.pm
|
||||
example/lib/MyTypemaps/FullerData_x0020_Fortune_x0020_Cookie.pm
|
||||
example/lib/MyTypemaps/GlobalWeather.pm
|
||||
example/visitor/visitor.pl
|
||||
example/weather.pl
|
||||
example/weather_wsdl.pl
|
||||
example/wsdl/FortuneCookie.xml
|
||||
example/wsdl/genericbarcode.xml
|
||||
example/wsdl/globalweather.xml
|
||||
HACKING
|
||||
lib/SOAP/WSDL.pm
|
||||
lib/SOAP/WSDL/Base.pm
|
||||
lib/SOAP/WSDL/Binding.pm
|
||||
lib/SOAP/WSDL/Client.pm
|
||||
lib/SOAP/WSDL/Client/Base.pm
|
||||
lib/SOAP/WSDL/Definitions.pm
|
||||
lib/SOAP/WSDL/Deserializer/Hash.pm
|
||||
lib/SOAP/WSDL/Deserializer/XSD.pm
|
||||
lib/SOAP/WSDL/Deserializer/SOM.pm
|
||||
lib/SOAP/WSDL/Expat/Base.pm
|
||||
lib/SOAP/WSDL/Expat/Message2Hash.pm
|
||||
lib/SOAP/WSDL/Expat/MessageParser.pm
|
||||
lib/SOAP/WSDL/Expat/MessageStreamParser.pm
|
||||
lib/SOAP/WSDL/Expat/WSDLParser.pm
|
||||
lib/SOAP/WSDL/Factory/Deserializer.pm
|
||||
lib/SOAP/WSDL/Factory/Generator.pm
|
||||
lib/SOAP/WSDL/Factory/Serializer.pm
|
||||
lib/SOAP/WSDL/Factory/Transport.pm
|
||||
lib/SOAP/WSDL/Generator/Template.pm
|
||||
lib/SOAP/WSDL/Generator/Template/XSD.pm
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/_type_class.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/all.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/atomicTypes.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/complexContent.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/contentModel.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/extension.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/all.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/choice.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/complexContent.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/structure.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/complexType/variety.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/element.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/element/POD/structure.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/Body.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/Header.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/Operation.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Element.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Message.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/method_info.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Operation.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Part.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Interface/POD/Type.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/atomicType.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/contentModel.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/list.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/POD/list.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/POD/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/POD/structure.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/simpleType/restriction.tt
|
||||
lib/SOAP/WSDL/Generator/Template/XSD/Typemap.tt
|
||||
lib/SOAP/WSDL/Generator/Visitor.pm
|
||||
lib/SOAP/WSDL/Generator/Visitor/Typelib.pm
|
||||
lib/SOAP/WSDL/Generator/Visitor/Typemap.pm
|
||||
lib/SOAP/WSDL/Manual.pod
|
||||
lib/SOAP/WSDL/Manual/Glossary.pod
|
||||
lib/SOAP/WSDL/Manual/Parser.pod
|
||||
lib/SOAP/WSDL/Manual/WS_I.pod
|
||||
lib/SOAP/WSDL/Manual/XSD.pod
|
||||
lib/SOAP/WSDL/Message.pm
|
||||
lib/SOAP/WSDL/Operation.pm
|
||||
lib/SOAP/WSDL/OpMessage.pm
|
||||
lib/SOAP/WSDL/Part.pm
|
||||
lib/SOAP/WSDL/Port.pm
|
||||
lib/SOAP/WSDL/PortType.pm
|
||||
lib/SOAP/WSDL/Serializer/XSD.pm
|
||||
lib/SOAP/WSDL/Service.pm
|
||||
lib/SOAP/WSDL/SOAP/Address.pm
|
||||
lib/SOAP/WSDL/SOAP/Body.pm
|
||||
lib/SOAP/WSDL/SOAP/Header.pm
|
||||
lib/SOAP/WSDL/SOAP/HeaderFault.pm
|
||||
lib/SOAP/WSDL/SOAP/Operation.pm
|
||||
lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm
|
||||
lib/SOAP/WSDL/Transport/HTTP.pm
|
||||
lib/SOAP/WSDL/Transport/Loopback.pm
|
||||
lib/SOAP/WSDL/Transport/Test.pm
|
||||
lib/SOAP/WSDL/TypeLookup.pm
|
||||
lib/SOAP/WSDL/Types.pm
|
||||
lib/SOAP/WSDL/XSD/Builtin.pm
|
||||
lib/SOAP/WSDL/XSD/ComplexType.pm
|
||||
lib/SOAP/WSDL/XSD/Element.pm
|
||||
lib/SOAP/WSDL/XSD/Schema.pm
|
||||
lib/SOAP/WSDL/XSD/Schema/Builtin.pm
|
||||
lib/SOAP/WSDL/XSD/SimpleType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/date.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/decimal.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/double.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/duration.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/float.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gDay.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gYear.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/ID.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/int.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/integer.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/language.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/long.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/Name.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NCName.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/QName.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/short.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/Element.pm
|
||||
lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||
LICENSE
|
||||
MAINFEST
|
||||
Makefile.PL
|
||||
MANIFEST
|
||||
META.yml
|
||||
README
|
||||
t/001_use.t
|
||||
t/002_parse_wsdl.t
|
||||
t/003_wsdl_based_serializer.t
|
||||
t/004_parse_wsdl.t
|
||||
t/005_parse_contributed.t
|
||||
t/006_client.t
|
||||
t/007_envelope.t
|
||||
t/008_client_wsdl_complexType.t
|
||||
t/009_data_classes.t
|
||||
t/011_simpleType.t
|
||||
t/012_element.t
|
||||
t/013_complexType.t
|
||||
t/016_client_object.t
|
||||
t/017_generator.t
|
||||
t/018_compat_2_00_15-generator.t
|
||||
t/020_storable.t
|
||||
t/098_pod.t
|
||||
t/acceptance/results/03_complexType-all.xml
|
||||
t/acceptance/results/03_complexType-sequence.xml
|
||||
t/acceptance/results/04_element-simpleType.xml
|
||||
t/acceptance/results/04_element.xml
|
||||
t/acceptance/results/05_simpleType-list.xml
|
||||
t/acceptance/results/05_simpleType-restriction.xml
|
||||
t/acceptance/results/05_simpleType-union.xml
|
||||
t/acceptance/results/11_helloworld.xml
|
||||
t/acceptance/wsdl/006_sax_client.wsdl
|
||||
t/acceptance/wsdl/008_complexType.wsdl
|
||||
t/acceptance/wsdl/02_port.wsdl
|
||||
t/acceptance/wsdl/03_complexType-all.wsdl
|
||||
t/acceptance/wsdl/03_complexType-element-ref.wsdl
|
||||
t/acceptance/wsdl/03_complexType-sequence.wsdl
|
||||
t/acceptance/wsdl/04_element-simpleType.wsdl
|
||||
t/acceptance/wsdl/04_element.wsdl
|
||||
t/acceptance/wsdl/05_simpleType-list.wsdl
|
||||
t/acceptance/wsdl/05_simpleType-restriction.wsdl
|
||||
t/acceptance/wsdl/05_simpleType-union.wsdl
|
||||
t/acceptance/wsdl/10_helloworld.asmx.xml
|
||||
t/acceptance/wsdl/11_helloworld.wsdl
|
||||
t/acceptance/wsdl/contributed/Axis.wsdl
|
||||
t/acceptance/wsdl/contributed/ETest.wsdl
|
||||
t/acceptance/wsdl/contributed/OITest.wsdl
|
||||
t/acceptance/wsdl/contributed/tools.wsdl
|
||||
t/acceptance/wsdl/elementAtomicComplexType.xml
|
||||
t/acceptance/wsdl/email_account.wsdl
|
||||
t/acceptance/wsdl/generator_test.wsdl
|
||||
t/acceptance/wsdl/generator_unsupported_test.wsdl
|
||||
t/acceptance/wsdl/message_gateway.wsdl
|
||||
t/contributed.wsdl
|
||||
t/Expat/01_expat.t
|
||||
t/Expat/03_wsdl.t
|
||||
t/lib/MyComplexType.pm
|
||||
t/lib/MyElement.pm
|
||||
t/lib/MyElements/GetWeather.pm
|
||||
t/lib/MyElements/GetWeatherResponse.pm
|
||||
t/lib/MyInterfaces/GlobalWeather.pm
|
||||
t/lib/MySimpleType.pm
|
||||
t/lib/MyTypemaps/GlobalWeather.pm
|
||||
t/lib/Test/SOAPMessage.pm
|
||||
t/lib/Typelib/Base.pm
|
||||
t/lib/Typelib/TEnqueueMessage.pm
|
||||
t/lib/Typelib/TMessage.pm
|
||||
t/SOAP/WSDL/01_use.t
|
||||
t/SOAP/WSDL/02_port.t
|
||||
t/SOAP/WSDL/03_complexType-all.t
|
||||
t/SOAP/WSDL/03_complexType-choice.t
|
||||
t/SOAP/WSDL/03_complexType-complexContent.t
|
||||
t/SOAP/WSDL/03_complexType-element-ref.t
|
||||
t/SOAP/WSDL/03_complexType-group.t
|
||||
t/SOAP/WSDL/03_complexType-sequence.t
|
||||
t/SOAP/WSDL/03_complexType-simpleContent.t
|
||||
t/SOAP/WSDL/04_element-complexType.t
|
||||
t/SOAP/WSDL/04_element-simpleType.t
|
||||
t/SOAP/WSDL/04_element.t
|
||||
t/SOAP/WSDL/05_simpleType-list.t
|
||||
t/SOAP/WSDL/05_simpleType-restriction.t
|
||||
t/SOAP/WSDL/05_simpleType-union.t
|
||||
t/SOAP/WSDL/06_keep_alive.t
|
||||
t/SOAP/WSDL/11_helloworld.NET.t
|
||||
t/SOAP/WSDL/12_binding.t
|
||||
t/SOAP/WSDL/Deserializer/Hash.t
|
||||
t/SOAP/WSDL/Deserializer/SOM.t
|
||||
t/SOAP/WSDL/Deserializer/XSD.t
|
||||
t/SOAP/WSDL/Factory/Deserializer.t
|
||||
t/SOAP/WSDL/Factory/Serializer.t
|
||||
t/SOAP/WSDL/Factory/Transport.t
|
||||
t/SOAP/WSDL/Generator/Template.t
|
||||
t/SOAP/WSDL/Generator/Visitor.t
|
||||
t/SOAP/WSDL/Generator/Visitor/Typemap.t
|
||||
t/SOAP/WSDL/Generator/XCS.t
|
||||
t/SOAP/WSDL/Generator/XSD.t
|
||||
t/SOAP/WSDL/Generator/XSD_unsupported.t
|
||||
t/SOAP/WSDL/Transport/01_Test.t
|
||||
t/SOAP/WSDL/Transport/02_HTTP.t
|
||||
t/SOAP/WSDL/Transport/acceptance/test2.xml
|
||||
t/SOAP/WSDL/Transport/acceptance/test3.xml
|
||||
t/SOAP/WSDL/Typelib/Fault11.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/01_constructors.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/anyType.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/boolean.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/byte.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/date.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/decimal.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/double.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/float.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/ID.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/int.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/integer.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/long.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/Name.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NCName.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/short.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/string.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/time.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/token.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.t
|
||||
t/test.wsdl
|
||||
TEST_COVERAGE
|
||||
TODO
|
||||
|
||||
SOAP-WSDL-2.00_21.ppd
|
||||
SOAP-WSDL-2.00_21.zip
|
||||
|
||||
495
META.yml
495
META.yml
@@ -1,244 +1,251 @@
|
||||
---
|
||||
name: SOAP-WSDL
|
||||
version: 2.00_17
|
||||
author: []
|
||||
abstract: SOAP with WSDL support
|
||||
license: artistic
|
||||
resources:
|
||||
license: http://opensource.org/licenses/artistic-license.php
|
||||
requires:
|
||||
Class::Std: v0.0.8
|
||||
Class::Std::Storable: 0
|
||||
Data::Dumper: 0
|
||||
Date::Format: 0
|
||||
Date::Parse: 0
|
||||
File::Basename: 0
|
||||
File::Path: 0
|
||||
Getopt::Long: 0
|
||||
LWP::UserAgent: 0
|
||||
List::Util: 0
|
||||
Template: 0
|
||||
Term::ReadKey: 0
|
||||
XML::Parser::Expat: 0
|
||||
provides:
|
||||
SOAP::WSDL:
|
||||
file: lib/SOAP/WSDL.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Base:
|
||||
file: lib/SOAP/WSDL/Base.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Binding:
|
||||
file: lib/SOAP/WSDL/Binding.pm
|
||||
SOAP::WSDL::Client:
|
||||
file: lib/SOAP/WSDL/Client.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Client::Base:
|
||||
file: lib/SOAP/WSDL/Client/Base.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Definitions:
|
||||
file: lib/SOAP/WSDL/Definitions.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Deserializer::Hash:
|
||||
file: lib/SOAP/WSDL/Deserializer/Hash.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Deserializer::SOAP11:
|
||||
file: lib/SOAP/WSDL/Deserializer/SOAP11.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Deserializer::SOM:
|
||||
file: lib/SOAP/WSDL/Deserializer/SOM.pm
|
||||
version: 2.00_15
|
||||
SOAP::WSDL::Expat::Base:
|
||||
file: lib/SOAP/WSDL/Expat/Base.pm
|
||||
SOAP::WSDL::Expat::Message2Hash:
|
||||
file: lib/SOAP/WSDL/Expat/Message2Hash.pm
|
||||
SOAP::WSDL::Expat::MessageParser:
|
||||
file: lib/SOAP/WSDL/Expat/MessageParser.pm
|
||||
SOAP::WSDL::Expat::MessageStreamParser:
|
||||
file: lib/SOAP/WSDL/Expat/MessageStreamParser.pm
|
||||
SOAP::WSDL::Factory::Deserializer:
|
||||
file: lib/SOAP/WSDL/Factory/Deserializer.pm
|
||||
SOAP::WSDL::Factory::Serializer:
|
||||
file: lib/SOAP/WSDL/Factory/Serializer.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Factory::Transport:
|
||||
file: lib/SOAP/WSDL/Factory/Transport.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Generator::Template:
|
||||
file: lib/SOAP/WSDL/Generator/Template.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Generator::Template::XSD:
|
||||
file: lib/SOAP/WSDL/Generator/Template/XSD.pm
|
||||
SOAP::WSDL::Generator::Visitor:
|
||||
file: lib/SOAP/WSDL/Generator/Visitor.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Generator::Visitor::Typelib:
|
||||
file: lib/SOAP/WSDL/Generator/Visitor/Typelib.pm
|
||||
SOAP::WSDL::Generator::Visitor::Typemap:
|
||||
file: lib/SOAP/WSDL/Generator/Visitor/Typemap.pm
|
||||
SOAP::WSDL::Message:
|
||||
file: lib/SOAP/WSDL/Message.pm
|
||||
SOAP::WSDL::OpMessage:
|
||||
file: lib/SOAP/WSDL/OpMessage.pm
|
||||
SOAP::WSDL::Operation:
|
||||
file: lib/SOAP/WSDL/Operation.pm
|
||||
SOAP::WSDL::Part:
|
||||
file: lib/SOAP/WSDL/Part.pm
|
||||
SOAP::WSDL::Port:
|
||||
file: lib/SOAP/WSDL/Port.pm
|
||||
SOAP::WSDL::PortType:
|
||||
file: lib/SOAP/WSDL/PortType.pm
|
||||
SOAP::WSDL::SOAP::Address:
|
||||
file: lib/SOAP/WSDL/SOAP/Address.pm
|
||||
SOAP::WSDL::SOAP::Body:
|
||||
file: lib/SOAP/WSDL/SOAP/Body.pm
|
||||
SOAP::WSDL::SOAP::Header:
|
||||
file: lib/SOAP/WSDL/SOAP/Header.pm
|
||||
SOAP::WSDL::SOAP::HeaderFault:
|
||||
file: lib/SOAP/WSDL/SOAP/HeaderFault.pm
|
||||
SOAP::WSDL::SOAP::Operation:
|
||||
file: lib/SOAP/WSDL/SOAP/Operation.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::SOAP::Typelib::Fault11:
|
||||
file: lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Serializer::SOAP11:
|
||||
file: lib/SOAP/WSDL/Serializer/SOAP11.pm
|
||||
version: 2.00_13
|
||||
SOAP::WSDL::Service:
|
||||
file: lib/SOAP/WSDL/Service.pm
|
||||
SOAP::WSDL::Transport::HTTP:
|
||||
file: lib/SOAP/WSDL/Transport/HTTP.pm
|
||||
SOAP::WSDL::Transport::Loopback:
|
||||
file: lib/SOAP/WSDL/Transport/Loopback.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Transport::Test:
|
||||
file: lib/SOAP/WSDL/Transport/Test.pm
|
||||
version: 2.00_14
|
||||
SOAP::WSDL::TypeLookup:
|
||||
file: lib/SOAP/WSDL/TypeLookup.pm
|
||||
SOAP::WSDL::Types:
|
||||
file: lib/SOAP/WSDL/Types.pm
|
||||
SOAP::WSDL::XSD::Builtin:
|
||||
file: lib/SOAP/WSDL/XSD/Builtin.pm
|
||||
SOAP::WSDL::XSD::ComplexType:
|
||||
file: lib/SOAP/WSDL/XSD/ComplexType.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Element:
|
||||
file: lib/SOAP/WSDL/XSD/Element.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Schema:
|
||||
file: lib/SOAP/WSDL/XSD/Schema.pm
|
||||
SOAP::WSDL::XSD::Schema::Builtin:
|
||||
file: lib/SOAP/WSDL/XSD/Schema/Builtin.pm
|
||||
SOAP::WSDL::XSD::SimpleType:
|
||||
file: lib/SOAP/WSDL/XSD/SimpleType.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Typelib::Builtin:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::ENTITY:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::ID:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/ID.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::IDREF:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::IDREFS:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NCName:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NCName.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NOTATION:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::Name:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/Name.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::QName:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/QName.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anyType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anyURI:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::base64Binary:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::boolean:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::byte:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::date:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/date.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::dateTime:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::decimal:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/decimal.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::double:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/double.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::duration:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/duration.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::float:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/float.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gDay:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gDay.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gMonth:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gYear:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gYear.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::hexBinary:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::int:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/int.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::integer:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/integer.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::language:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/language.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::list:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::long:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/long.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::normalizedString:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::short:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/short.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::time:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::token:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
|
||||
version: 2.00_16
|
||||
SOAP::WSDL::XSD::Typelib::Element:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Element.pm
|
||||
SOAP::WSDL::XSD::Typelib::SimpleType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||
SOAP::WSDL::XSD::Typelib::SimpleType::restriction:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||
generated_by: Module::Build version 0.2808
|
||||
meta-spec:
|
||||
url: http://module-build.sourceforge.net/META-spec-v1.2.html
|
||||
version: 1.2
|
||||
---
|
||||
name: SOAP-WSDL
|
||||
version: 2.00_22
|
||||
author: []
|
||||
abstract: SOAP with WSDL support
|
||||
license: artistic
|
||||
resources:
|
||||
license: http://opensource.org/licenses/artistic-license.php
|
||||
requires:
|
||||
Class::Std: v0.0.8
|
||||
Class::Std::Storable: 0
|
||||
Data::Dumper: 0
|
||||
Date::Format: 0
|
||||
Date::Parse: 0
|
||||
File::Basename: 0
|
||||
File::Path: 0
|
||||
Getopt::Long: 0
|
||||
LWP::UserAgent: 0
|
||||
List::Util: 0
|
||||
Template: 0
|
||||
Term::ReadKey: 0
|
||||
XML::Parser::Expat: 0
|
||||
perl: 5.8.0
|
||||
provides:
|
||||
SOAP::WSDL:
|
||||
file: lib/SOAP/WSDL.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Base:
|
||||
file: lib/SOAP/WSDL/Base.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Binding:
|
||||
file: lib/SOAP/WSDL/Binding.pm
|
||||
SOAP::WSDL::Client:
|
||||
file: lib/SOAP/WSDL/Client.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Client::Base:
|
||||
file: lib/SOAP/WSDL/Client/Base.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Definitions:
|
||||
file: lib/SOAP/WSDL/Definitions.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Deserializer::Hash:
|
||||
file: lib/SOAP/WSDL/Deserializer/Hash.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Deserializer::SOM:
|
||||
file: lib/SOAP/WSDL/Deserializer/SOM.pm
|
||||
version: 2.00_15
|
||||
SOAP::WSDL::Deserializer::XSD:
|
||||
file: lib/SOAP/WSDL/Deserializer/XSD.pm
|
||||
version: 2.00_21
|
||||
SOAP::WSDL::Expat::Base:
|
||||
file: lib/SOAP/WSDL/Expat/Base.pm
|
||||
SOAP::WSDL::Expat::Message2Hash:
|
||||
file: lib/SOAP/WSDL/Expat/Message2Hash.pm
|
||||
SOAP::WSDL::Expat::MessageParser:
|
||||
file: lib/SOAP/WSDL/Expat/MessageParser.pm
|
||||
SOAP::WSDL::Expat::MessageStreamParser:
|
||||
file: lib/SOAP/WSDL/Expat/MessageStreamParser.pm
|
||||
SOAP::WSDL::Factory::Deserializer:
|
||||
file: lib/SOAP/WSDL/Factory/Deserializer.pm
|
||||
SOAP::WSDL::Factory::Generator:
|
||||
file: lib/SOAP/WSDL/Factory/Generator.pm
|
||||
version: 2.00_18
|
||||
SOAP::WSDL::Factory::Serializer:
|
||||
file: lib/SOAP/WSDL/Factory/Serializer.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Factory::Transport:
|
||||
file: lib/SOAP/WSDL/Factory/Transport.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Generator::Template:
|
||||
file: lib/SOAP/WSDL/Generator/Template.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Generator::Template::XSD:
|
||||
file: lib/SOAP/WSDL/Generator/Template/XSD.pm
|
||||
SOAP::WSDL::Generator::Visitor:
|
||||
file: lib/SOAP/WSDL/Generator/Visitor.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Generator::Visitor::Typelib:
|
||||
file: lib/SOAP/WSDL/Generator/Visitor/Typelib.pm
|
||||
SOAP::WSDL::Generator::Visitor::Typemap:
|
||||
file: lib/SOAP/WSDL/Generator/Visitor/Typemap.pm
|
||||
SOAP::WSDL::Message:
|
||||
file: lib/SOAP/WSDL/Message.pm
|
||||
SOAP::WSDL::OpMessage:
|
||||
file: lib/SOAP/WSDL/OpMessage.pm
|
||||
SOAP::WSDL::Operation:
|
||||
file: lib/SOAP/WSDL/Operation.pm
|
||||
SOAP::WSDL::Part:
|
||||
file: lib/SOAP/WSDL/Part.pm
|
||||
SOAP::WSDL::Port:
|
||||
file: lib/SOAP/WSDL/Port.pm
|
||||
SOAP::WSDL::PortType:
|
||||
file: lib/SOAP/WSDL/PortType.pm
|
||||
SOAP::WSDL::SOAP::Address:
|
||||
file: lib/SOAP/WSDL/SOAP/Address.pm
|
||||
SOAP::WSDL::SOAP::Body:
|
||||
file: lib/SOAP/WSDL/SOAP/Body.pm
|
||||
SOAP::WSDL::SOAP::Header:
|
||||
file: lib/SOAP/WSDL/SOAP/Header.pm
|
||||
SOAP::WSDL::SOAP::HeaderFault:
|
||||
file: lib/SOAP/WSDL/SOAP/HeaderFault.pm
|
||||
SOAP::WSDL::SOAP::Operation:
|
||||
file: lib/SOAP/WSDL/SOAP/Operation.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::SOAP::Typelib::Fault11:
|
||||
file: lib/SOAP/WSDL/SOAP/Typelib/Fault11.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Serializer::XSD:
|
||||
file: lib/SOAP/WSDL/Serializer/XSD.pm
|
||||
version: 2.00_21
|
||||
SOAP::WSDL::Service:
|
||||
file: lib/SOAP/WSDL/Service.pm
|
||||
SOAP::WSDL::Transport::HTTP:
|
||||
file: lib/SOAP/WSDL/Transport/HTTP.pm
|
||||
SOAP::WSDL::Transport::Loopback:
|
||||
file: lib/SOAP/WSDL/Transport/Loopback.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::Transport::Test:
|
||||
file: lib/SOAP/WSDL/Transport/Test.pm
|
||||
version: 2.00_14
|
||||
SOAP::WSDL::TypeLookup:
|
||||
file: lib/SOAP/WSDL/TypeLookup.pm
|
||||
SOAP::WSDL::Types:
|
||||
file: lib/SOAP/WSDL/Types.pm
|
||||
SOAP::WSDL::XSD::Builtin:
|
||||
file: lib/SOAP/WSDL/XSD/Builtin.pm
|
||||
SOAP::WSDL::XSD::ComplexType:
|
||||
file: lib/SOAP/WSDL/XSD/ComplexType.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Element:
|
||||
file: lib/SOAP/WSDL/XSD/Element.pm
|
||||
version: 2.00_22
|
||||
SOAP::WSDL::XSD::Schema:
|
||||
file: lib/SOAP/WSDL/XSD/Schema.pm
|
||||
SOAP::WSDL::XSD::Schema::Builtin:
|
||||
file: lib/SOAP/WSDL/XSD/Schema/Builtin.pm
|
||||
SOAP::WSDL::XSD::SimpleType:
|
||||
file: lib/SOAP/WSDL/XSD/SimpleType.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Typelib::Builtin:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::ENTITY:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/ENTITY.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::ID:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/ID.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::IDREF:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREF.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::IDREFS:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/IDREFS.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NCName:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NCName.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NMTOKEN:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKEN.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NMTOKENS:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NMTOKENS.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::NOTATION:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/NOTATION.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::Name:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/Name.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::QName:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/QName.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anySimpleType.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anyType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::anyURI:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/anyURI.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::base64Binary:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/base64Binary.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::boolean:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/boolean.pm
|
||||
version: 2.00_17
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::byte:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/byte.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::date:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/date.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::dateTime:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::decimal:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/decimal.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::double:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/double.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::duration:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/duration.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::float:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/float.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gDay:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gDay.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gMonth:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonth.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gMonthDay:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gMonthDay.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gYear:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gYear.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::gYearMonth:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/gYearMonth.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::hexBinary:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/hexBinary.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::int:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/int.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::integer:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/integer.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::language:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/language.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::list:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/list.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::long:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/long.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::negativeInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/negativeInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::nonNegativeInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/nonNegativeInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::nonPositiveInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/nonPositiveInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::normalizedString:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/normalizedString.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::positiveInteger:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/positiveInteger.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::short:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/short.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::string:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::time:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/time.pm
|
||||
version: 2.00_18
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::token:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/token.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedByte:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedByte.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedInt:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedInt.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedLong:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedLong.pm
|
||||
SOAP::WSDL::XSD::Typelib::Builtin::unsignedShort:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Builtin/unsignedShort.pm
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
|
||||
version: 2.00_22
|
||||
SOAP::WSDL::XSD::Typelib::Element:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/Element.pm
|
||||
SOAP::WSDL::XSD::Typelib::SimpleType:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||
SOAP::WSDL::XSD::Typelib::SimpleType::restriction:
|
||||
file: lib/SOAP/WSDL/XSD/Typelib/SimpleType.pm
|
||||
generated_by: Module::Build version 0.2808
|
||||
meta-spec:
|
||||
url: http://module-build.sourceforge.net/META-spec-v1.2.html
|
||||
version: 1.2
|
||||
no_index:
|
||||
directory: lib/SOAP/WSDL/Generator/Template/XSD/
|
||||
|
||||
62
Makefile.PL
62
Makefile.PL
@@ -1,31 +1,31 @@
|
||||
# Note: this file was auto-generated by Module::Build::Compat version 0.03
|
||||
|
||||
unless (eval "use Module::Build::Compat 0.02; 1" ) {
|
||||
print "This module requires Module::Build to install itself.\n";
|
||||
|
||||
require ExtUtils::MakeMaker;
|
||||
my $yn = ExtUtils::MakeMaker::prompt
|
||||
(' Install Module::Build now from CPAN?', 'y');
|
||||
|
||||
unless ($yn =~ /^y/i) {
|
||||
die " *** Cannot install without Module::Build. Exiting ...\n";
|
||||
}
|
||||
|
||||
require Cwd;
|
||||
require File::Spec;
|
||||
require CPAN;
|
||||
|
||||
# Save this 'cause CPAN will chdir all over the place.
|
||||
my $cwd = Cwd::cwd();
|
||||
|
||||
CPAN::Shell->install('Module::Build::Compat');
|
||||
CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate
|
||||
or die "Couldn't install Module::Build, giving up.\n";
|
||||
|
||||
chdir $cwd or die "Cannot chdir() back to $cwd: $!";
|
||||
}
|
||||
eval "use Module::Build::Compat 0.02; 1" or die $@;
|
||||
|
||||
Module::Build::Compat->run_build_pl(args => \@ARGV);
|
||||
require Module::Build;
|
||||
Module::Build::Compat->write_makefile(build_class => 'Module::Build');
|
||||
# Note: this file was auto-generated by Module::Build::Compat version 0.03
|
||||
|
||||
unless (eval "use Module::Build::Compat 0.02; 1" ) {
|
||||
print "This module requires Module::Build to install itself.\n";
|
||||
|
||||
require ExtUtils::MakeMaker;
|
||||
my $yn = ExtUtils::MakeMaker::prompt
|
||||
(' Install Module::Build now from CPAN?', 'y');
|
||||
|
||||
unless ($yn =~ /^y/i) {
|
||||
die " *** Cannot install without Module::Build. Exiting ...\n";
|
||||
}
|
||||
|
||||
require Cwd;
|
||||
require File::Spec;
|
||||
require CPAN;
|
||||
|
||||
# Save this 'cause CPAN will chdir all over the place.
|
||||
my $cwd = Cwd::cwd();
|
||||
|
||||
CPAN::Shell->install('Module::Build::Compat');
|
||||
CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate
|
||||
or die "Couldn't install Module::Build, giving up.\n";
|
||||
|
||||
chdir $cwd or die "Cannot chdir() back to $cwd: $!";
|
||||
}
|
||||
eval "use Module::Build::Compat 0.02; 1" or die $@;
|
||||
|
||||
Module::Build::Compat->run_build_pl(args => \@ARGV);
|
||||
require Module::Build;
|
||||
Module::Build::Compat->write_makefile(build_class => 'Module::Build');
|
||||
|
||||
15
SOAP-WSDL-2.00_21.ppd
Normal file
15
SOAP-WSDL-2.00_21.ppd
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<SOFTPKG NAME="SOAP-WSDL-2.00_21" VERSION="2,00_21,0,0">
|
||||
<TITLE>SOAP-WSDL-2.00_21</TITLE>
|
||||
<ABSTRACT>SOAP with WSDL support</ABSTRACT>
|
||||
<AUTHOR>Martin Kutter <MKUTTER@cpan.org></AUTHOR>
|
||||
<IMPLEMENTATION>
|
||||
<DEPENDENCY NAME="Class-Std" VERSION="v0,0,8,0" />
|
||||
<DEPENDENCY NAME="Class-Std-Storable" VERSION="0,0,0,0" />
|
||||
<DEPENDENCY NAME="Template-Toolkit" VERSION="0,0,0,0" />
|
||||
<DEPENDENCY NAME="TimeDate" VERSION="0,0,0,0" />
|
||||
<OS NAME="MSWin32" />
|
||||
<ARCHITECTURE NAME="MSWin32-x86-multi-thread-5.8" />
|
||||
<CODEBASE HREF="SOAP-WSDL-2.00_21.zip" />
|
||||
</IMPLEMENTATION>
|
||||
</SOFTPKG>
|
||||
BIN
SOAP-WSDL-2.00_21.zip
Normal file
BIN
SOAP-WSDL-2.00_21.zip
Normal file
Binary file not shown.
1
TODO
1
TODO
@@ -2,7 +2,6 @@ TODO list for SOAP::WSDL
|
||||
|
||||
2.00 Pre-releases
|
||||
--------
|
||||
* Implement a Generator Plugin API
|
||||
|
||||
* Implement a interface similar to SOAP::Schema (#1783639)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ use Pod::Usage;
|
||||
use Getopt::Long;
|
||||
use LWP::UserAgent;
|
||||
use SOAP::WSDL::Expat::WSDLParser;
|
||||
use SOAP::WSDL::Generator::Template::XSD;
|
||||
use SOAP::WSDL::Factory::Generator;
|
||||
use Term::ReadKey;
|
||||
|
||||
my %opt = (
|
||||
@@ -16,7 +16,8 @@ my %opt = (
|
||||
typemap_prefix => 'MyTypemaps',
|
||||
interface_prefix => 'MyInterfaces',
|
||||
base_path => 'lib/',
|
||||
proxy => undef
|
||||
proxy => undef,
|
||||
generator => 'XSD',
|
||||
);
|
||||
|
||||
{ # a block just to scope "no warnings"
|
||||
@@ -57,6 +58,7 @@ GetOptions(\%opt,
|
||||
keep_alive
|
||||
user=s
|
||||
password=s
|
||||
generator=s
|
||||
)
|
||||
);
|
||||
|
||||
@@ -91,20 +93,29 @@ if ($opt{typemap_include}) {
|
||||
%typemap = do $opt{typemap_include};
|
||||
}
|
||||
|
||||
my $generator = SOAP::WSDL::Generator::Template::XSD->new({
|
||||
type_prefix => $opt{ type_prefix },
|
||||
typemap_prefix => $opt{ typemap_prefix },
|
||||
element_prefix => $opt{ element_prefix },
|
||||
interface_prefix => $opt{ interface_prefix },
|
||||
OUTPUT_PATH => $opt{ base_path },
|
||||
definitions => $definitions,
|
||||
});
|
||||
my $generator = SOAP::WSDL::Factory::Generator->get_generator({ type => $opt{'generator'} });
|
||||
|
||||
if (%typemap) {
|
||||
if ($generator->can('set_typemap')) {
|
||||
$generator->set_typemap( \%typemap );
|
||||
}
|
||||
else {
|
||||
warn "Typemap snippet given, but generator does not support it\n";
|
||||
}
|
||||
};
|
||||
|
||||
$generator->set_type_prefix( $opt{ type_prefix }) if $generator->can('set_type_prefix');
|
||||
$generator->set_typemap_prefix( $opt{ typemap_prefix }) if $generator->can('set_typemap_prefix');
|
||||
$generator->set_element_prefix($opt{ element_prefix }) if $generator->can('set_element_prefix');
|
||||
$generator->set_interface_prefix($opt{ interface_prefix }) if $generator->can('set_interface_prefix');
|
||||
$generator->set_OUTPUT_PATH($opt{ base_path }) if $generator->can('set_OUTPUT_PATH');
|
||||
$generator->set_definitions($definitions) if $generator->can('set_definitions');
|
||||
$generator->set_wsdl($xml) if $generator->can('set_wsdl');
|
||||
|
||||
# start with typelib, as errors will most likely occur here...
|
||||
$generator->generate_typelib();
|
||||
$generator->generate_interface();
|
||||
$generator->generate_typemap({ (%typemap) ? (typemap => \%typemap) : () });
|
||||
$generator->generate();
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
@@ -133,13 +144,15 @@ wsdl2perl.pl - create perl bindings for SOAP webservices.
|
||||
base_path b Path to create classes in.
|
||||
Default: .
|
||||
typemap_include mi File to include in typemap. Must eval() to a valid
|
||||
perl hash (not a has ref !).
|
||||
perl hash (not a hash ref !).
|
||||
proxy x HTTP(S) proxy to use (if any). wsdl2perl will also
|
||||
use the proxy settings specified via the HTTP_PROXY
|
||||
and HTTPS_PROXY environment variables.
|
||||
keep_alive Use http keep_alive.
|
||||
user Username for HTTP authentication
|
||||
password Password. wsdl2perl will prompt if not given.
|
||||
generator g Generator to use.
|
||||
Default: XSD
|
||||
help h Show help content
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
@@ -604,6 +604,11 @@ details.
|
||||
|
||||
=over
|
||||
|
||||
=item * perl 5.8.0 or higher required
|
||||
|
||||
SOAP::WSDL needs perl 5.8.0 or higher. This is due to a bug in perls
|
||||
before - see http://aspn.activestate.com/ASPN/Mail/Message/perl5-porters/929746 for details.
|
||||
|
||||
=item * Apache SOAP datatypes are not supported
|
||||
|
||||
You currently can't use SOAP::WSDL with Apache SOAP datatypes like map.
|
||||
@@ -731,10 +736,10 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 308 $
|
||||
$Rev: 332 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: WSDL.pm 308 2007-10-05 17:35:28Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
|
||||
$Id: WSDL.pm 332 2007-10-19 07:29:03Z kutterma $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
@@ -368,7 +368,7 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
$Rev: 303 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: Client.pm 303 2007-10-01 18:51:50Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ our $VERSION = '2.00_17';
|
||||
sub call {
|
||||
my ($self, $method, $body, $header) = @_;
|
||||
if (not blessed $body) {
|
||||
$body = {} if not defined $body;
|
||||
my $class = $method->{ body }->{ parts }->[0];
|
||||
eval "require $class" || die $@;
|
||||
$body = $class->new($body);
|
||||
@@ -116,9 +117,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 303 $
|
||||
$Rev: 323 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: Base.pm 303 2007-10-01 18:51:50Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $
|
||||
$Id: Base.pm 323 2007-10-17 15:23:05Z kutterma $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $
|
||||
|
||||
=cut
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package SOAP::WSDL::Deserializer::SOAP11;
|
||||
package SOAP::WSDL::Deserializer::XSD;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Class::Std::Storable;
|
||||
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
||||
use SOAP::WSDL::Expat::MessageParser;
|
||||
|
||||
our $VERSION='2.00_17';
|
||||
our $VERSION='2.00_21';
|
||||
|
||||
my %class_resolver_of :ATTR(:name<class_resolver> :default<()>);
|
||||
|
||||
@@ -89,7 +89,7 @@ SOAP::WSDL::Expat::Message2Hash - Convert SOAP messages to perl hash refs
|
||||
|
||||
Real fast expat based SOAP message parser.
|
||||
|
||||
See L<SOAP::WSDL::Parser> for details.
|
||||
See L<SOAP::WSDL::Manual::Parser> for details.
|
||||
|
||||
=head1 Bugs and Limitations
|
||||
|
||||
|
||||
@@ -199,7 +199,7 @@ SOAP::WSDL::Expat::MessageParser - Convert SOAP messages to custom object trees
|
||||
|
||||
Real fast expat based SOAP message parser.
|
||||
|
||||
See L<SOAP::WSDL::Parser> for details.
|
||||
See L<SOAP::WSDL::Manual::Parser> for details.
|
||||
|
||||
=head2 Skipping unwanted items
|
||||
|
||||
@@ -234,9 +234,9 @@ This module may be used under the same terms as perl itself.
|
||||
|
||||
$ID: $
|
||||
|
||||
$LastChangedDate: 2007-10-03 20:46:56 +0200 (Mit, 03 Okt 2007) $
|
||||
$LastChangedRevision: 305 $
|
||||
$LastChangedDate: 2007-10-07 19:27:58 +0200 (So, 07 Okt 2007) $
|
||||
$LastChangedRevision: 313 $
|
||||
$LastChangedBy: kutterma $
|
||||
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ SOAP::WSDL::Expat::MessageStreamParser - Convert SOAP messages to custom object
|
||||
|
||||
ExpatNB based parser for parsing huge documents.
|
||||
|
||||
See L<SOAP::WSDL::Parser> for details.
|
||||
See L<SOAP::WSDL::Manual::Parser> for details.
|
||||
|
||||
=head1 Bugs and Limitations
|
||||
|
||||
@@ -68,9 +68,9 @@ This module may be used under the same terms as perl itself.
|
||||
|
||||
$ID: $
|
||||
|
||||
$LastChangedDate: 2007-10-03 20:46:56 +0200 (Mit, 03 Okt 2007) $
|
||||
$LastChangedRevision: 305 $
|
||||
$LastChangedDate: 2007-10-07 19:27:58 +0200 (So, 07 Okt 2007) $
|
||||
$LastChangedRevision: 313 $
|
||||
$LastChangedBy: kutterma $
|
||||
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ use strict;
|
||||
use warnings;
|
||||
|
||||
my %DESERIALIZER = (
|
||||
'1.1' => 'SOAP::WSDL::Deserializer::SOAP11',
|
||||
'1.1' => 'SOAP::WSDL::Deserializer::XSD',
|
||||
);
|
||||
|
||||
# class method
|
||||
@@ -64,7 +64,7 @@ SOAP::WSDL::Deserializer tries to load one of the following classes:
|
||||
|
||||
=back
|
||||
|
||||
By default, L<SOAP::WSDL::Deserializer::SOAP11|SOAP::WSDL::Deserializer::SOAP11>
|
||||
By default, L<SOAP::WSDL::Deserializer::XSD|SOAP::WSDL::Deserializer::XSD>
|
||||
is registered for SOAP1.1 messages.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
172
lib/SOAP/WSDL/Factory/Generator.pm
Normal file
172
lib/SOAP/WSDL/Factory/Generator.pm
Normal file
@@ -0,0 +1,172 @@
|
||||
package SOAP::WSDL::Factory::Generator;
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
our $VERSION='2.00_18';
|
||||
|
||||
my %GENERATOR = (
|
||||
'XSD' => 'SOAP::WSDL::Generator::Template::XSD',
|
||||
);
|
||||
|
||||
# class method
|
||||
sub register {
|
||||
my ($class, $ref_type, $package) = @_;
|
||||
$GENERATOR{ $ref_type } = $package;
|
||||
}
|
||||
|
||||
sub get_generator {
|
||||
my ($self, $args_of_ref) = @_;
|
||||
|
||||
# sanity check
|
||||
# die "no generator registered for generation method $args_of_ref->{ type }"
|
||||
#
|
||||
my $generator_class = (exists ($GENERATOR{ $args_of_ref->{ type } }))
|
||||
? $GENERATOR{ $args_of_ref->{ type } }
|
||||
: $args_of_ref->{ type };
|
||||
|
||||
# load module
|
||||
eval "require $generator_class"
|
||||
or die "Cannot load generator $generator_class", $@;
|
||||
|
||||
return $generator_class->new();
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
SOAP::WSDL::Factory:Generator - Factory for retrieving generator objects
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
# from SOAP::WSDL::Client:
|
||||
$generator = SOAP::WSDL::Factory::Generator->get_generator({
|
||||
soap_version => $soap_version,
|
||||
});
|
||||
|
||||
# in generator class:
|
||||
package MyWickedGenerator;
|
||||
use SOAP::WSDL::Factory::Generator;
|
||||
|
||||
# register as generator for SOAP1.2 messages
|
||||
SOAP::WSDL::Factory::Generator->register( '1.2' , __PACKAGE__ );
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
SOAP::WSDL::Factory::Generator serves as factory for retrieving
|
||||
generator objects for SOAP::WSDL.
|
||||
|
||||
The actual work is done by specific generator classes.
|
||||
|
||||
SOAP::WSDL::Generator tries to load one of the following classes:
|
||||
|
||||
=over
|
||||
|
||||
=item * the class registered for the scheme via register()
|
||||
|
||||
=back
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=head2 register
|
||||
|
||||
SOAP::WSDL::Generator->register('Lite', 'MyWickedGenerator');
|
||||
|
||||
Globally registers a class for use as generator class.
|
||||
|
||||
=head2 get_generator
|
||||
|
||||
Returns an object of the generator class for this endpoint.
|
||||
|
||||
=head1 WRITING YOUR OWN GENERATOR CLASS
|
||||
|
||||
=head2 Registering a generator
|
||||
|
||||
Generator classes may register with SOAP::WSDL::Factory::Generator.
|
||||
|
||||
Registering a generator class with SOAP::WSDL::Factory::Generator is done
|
||||
by executing the following code where $version is the SOAP version the
|
||||
class should be used for, and $class is the class name.
|
||||
|
||||
SOAP::WSDL::Factory::Generator->register( $version, $class);
|
||||
|
||||
To auto-register your transport class on loading, execute register() in
|
||||
your generator class (see L<SYNOPSIS|SYNOPSIS> above).
|
||||
|
||||
=head2 Generator package layout
|
||||
|
||||
Generator modules must be named equal to the generator class they contain.
|
||||
There can only be one generator class per generator module.
|
||||
|
||||
=head2 Methods to implement
|
||||
|
||||
Generator classes must implement the following methods:
|
||||
|
||||
=over
|
||||
|
||||
=item * new
|
||||
|
||||
Constructor.
|
||||
|
||||
=item * generate
|
||||
|
||||
Generate SOAP interface
|
||||
|
||||
=back
|
||||
|
||||
Generators may implements one or more of the following configuration
|
||||
methods. All of them are tried via can() by wsdl2perl.
|
||||
|
||||
=over
|
||||
|
||||
=item * set_wsdl
|
||||
|
||||
Set the raw WSDL XML. Implement if you have your own WSDL parser.
|
||||
|
||||
=item * set_definitions
|
||||
|
||||
Sets the (parsed) SOAP::WSDL::Definitions object.
|
||||
|
||||
=item * set_type_prefix
|
||||
|
||||
Sets the prefix for XML Schema type classes
|
||||
|
||||
=item * set_element_prefix
|
||||
|
||||
Sets the prefix for XML Schema element classes
|
||||
|
||||
=item * set_typemap_prefix
|
||||
|
||||
Sets the prefix for typemap classes (class resolvers).
|
||||
|
||||
=item * set_interface_prefix
|
||||
|
||||
Sets the prefix for interface classes
|
||||
|
||||
=item * set_typemap
|
||||
|
||||
Set user-defined typemap snippet
|
||||
|
||||
=back
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Copyright (c) 2004-2007 Martin Kutter.
|
||||
|
||||
This file is part of SOAP-WSDL. You may distribute/modify it under the same
|
||||
terms as perl itself
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 302 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: Generator.pm 302 2007-09-30 19:25:25Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Generator.pm $
|
||||
|
||||
=cut
|
||||
@@ -5,7 +5,7 @@ use warnings;
|
||||
our $VERSION='2.00_17';
|
||||
|
||||
my %SERIALIZER = (
|
||||
'1.1' => 'SOAP::WSDL::Serializer::SOAP11',
|
||||
'1.1' => 'SOAP::WSDL::Serializer::XSD',
|
||||
);
|
||||
|
||||
# class method
|
||||
@@ -95,7 +95,7 @@ class should be used for, and $class is the class name.
|
||||
SOAP::WSDL::Factory::Serializer->register( $version, $class);
|
||||
|
||||
To auto-register your transport class on loading, execute register() in
|
||||
your tranport class (see L<SYNOPSIS|SYNOPSIS> above).
|
||||
your tranport class (see L</SYNOPSIS> above).
|
||||
|
||||
=head2 Serializer package layout
|
||||
|
||||
@@ -138,9 +138,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 302 $
|
||||
$Rev: 329 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: Serializer.pm 302 2007-09-30 19:25:25Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $
|
||||
$Id: Serializer.pm 329 2007-10-18 19:42:09Z kutterma $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $
|
||||
|
||||
=cut
|
||||
|
||||
@@ -239,6 +239,6 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
$Rev: 304 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: Transport.pm 304 2007-10-02 20:07:21Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $
|
||||
|
||||
=cut
|
||||
|
||||
@@ -18,18 +18,18 @@ my %OUTPUT_PATH_of :ATTR(:name<OUTPUT_PATH> :default<.>);
|
||||
|
||||
sub START {
|
||||
my ($self, $ident, $arg_ref) = @_;
|
||||
$tt_of{$ident} = Template->new(
|
||||
}
|
||||
|
||||
sub _process :PROTECTED {
|
||||
my ($self, $template, $arg_ref, $output) = @_;
|
||||
my $ident = ident $self;
|
||||
my $tt = $tt_of{$ident} ||= Template->new(
|
||||
DEBUG => 1,
|
||||
EVAL_PERL => $EVAL_PERL_of{ $ident },
|
||||
RECURSION => $RECURSION_of{ $ident },
|
||||
INCLUDE_PATH => $INCLUDE_PATH_of{ $ident },
|
||||
OUTPUT_PATH => $OUTPUT_PATH_of{ $ident },
|
||||
);
|
||||
}
|
||||
|
||||
sub _process :PROTECTED {
|
||||
my ($self, $template, $arg_ref, $output) = @_;
|
||||
my $tt = $self->get_tt();
|
||||
$tt->process( $template,
|
||||
{
|
||||
definitions => $self->get_definitions,
|
||||
@@ -42,7 +42,7 @@ sub _process :PROTECTED {
|
||||
%{ $arg_ref }
|
||||
},
|
||||
$output)
|
||||
or die $tt->error();
|
||||
or die $INCLUDE_PATH_of{ $ident }, '\\', $template, ' ', $tt->error();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,8 @@ use SOAP::WSDL::Generator::Visitor::Typemap;
|
||||
use SOAP::WSDL::Generator::Visitor::Typelib;
|
||||
use base qw(SOAP::WSDL::Generator::Template);
|
||||
|
||||
my %output_of :ATTR(:name<output> :default<()>);
|
||||
my %output_of :ATTR(:name<output> :default<()>);
|
||||
my %typemap_of :ATTR(:name<typemap> :default<({})>);
|
||||
|
||||
sub BUILD {
|
||||
my ($self, $ident, $arg_ref) = @_;
|
||||
@@ -17,10 +18,40 @@ sub BUILD {
|
||||
$self->set_RECURSION(1);
|
||||
$self->set_INCLUDE_PATH( exists $arg_ref->{INCLUDE_PATH}
|
||||
? $arg_ref->{INCLUDE_PATH}
|
||||
: File::Spec->rel2abs( dirname __FILE__ ). '/XSD/'
|
||||
: do {
|
||||
# ignore uninitialized warnings - File::Spec warns about
|
||||
# uninitialized values, probably because we have no filename
|
||||
local $SIG{__WARN__} = sub {
|
||||
return if ($_[0]=~m{\buninitialized\b});
|
||||
CORE::warn @_;
|
||||
};
|
||||
|
||||
# makeup path for the OS we're running on
|
||||
my ($volume, $dir, $file) = File::Spec->splitpath(
|
||||
File::Spec->rel2abs( dirname __FILE__ )
|
||||
);
|
||||
$dir = File::Spec->catdir($dir, $file, 'XSD');
|
||||
# return path put together...
|
||||
my $path = File::Spec->catpath( $volume, $dir );
|
||||
|
||||
# Fixup path for windows - / works fine, \ does
|
||||
# not...
|
||||
if ( eval { &Win32::BuildNumber } ) {
|
||||
$path =~s{\\}{/}g;
|
||||
}
|
||||
$path;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
sub generate {
|
||||
my $self = shift;
|
||||
my $opt = shift;
|
||||
$self->generate_typelib( $opt );
|
||||
$self->generate_interface( $opt );
|
||||
$self->generate_typemap( $opt );
|
||||
}
|
||||
|
||||
sub generate_typelib {
|
||||
my ($self) = @_;
|
||||
|
||||
@@ -46,17 +77,24 @@ sub generate_interface {
|
||||
next if not $port->first_address;
|
||||
next if not $port->first_address->isa('SOAP::WSDL::SOAP::Address');
|
||||
|
||||
my $port_name = $port->get_name;
|
||||
$port_name =~s{ \A .+\. }{}xms;
|
||||
my $output = $arg_ref->{ output }
|
||||
? $arg_ref->{ output }
|
||||
: $self->_generate_filename( $self->get_interface_prefix(), $service->get_name(), $port->get_name );
|
||||
|
||||
: $self->_generate_filename(
|
||||
$self->get_interface_prefix(),
|
||||
$service->get_name(),
|
||||
$port_name,
|
||||
);
|
||||
print "Creating interface class $output\n";
|
||||
|
||||
$self->_process('Interface.tt',
|
||||
{
|
||||
service => $service,
|
||||
port => $port,
|
||||
NO_POD => $arg_ref->{ NO_POD } ? 1 : 0 ,
|
||||
},
|
||||
$output);
|
||||
},
|
||||
$output, binmode => ':utf8');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,7 +111,8 @@ sub generate_typemap {
|
||||
'Fault/faultcode' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI',
|
||||
'Fault/faultactor' => 'SOAP::WSDL::XSD::Typelib::Builtin::TOKEN',
|
||||
'Fault/faultstring' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
'Fault/detail' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
'Fault/detail' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
|
||||
%{ $typemap_of{ident $self }},
|
||||
}
|
||||
});
|
||||
for my $service (@{ $self->get_definitions->get_service }) {
|
||||
@@ -81,6 +120,8 @@ sub generate_typemap {
|
||||
my $output = $arg_ref->{ output }
|
||||
? $arg_ref->{ output }
|
||||
: $self->_generate_filename( $self->get_typemap_prefix(), $service->get_name() );
|
||||
|
||||
print "Creating typemap class $output\n";
|
||||
$self->_process('Typemap.tt',
|
||||
{
|
||||
service => $service,
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
package [% interface_prefix %]::[% service.get_name %]::[% port.get_name %];
|
||||
package [% interface_prefix %]::[% service.get_name.replace('\.', '::') %]::[% port.get_name.replace('^.+\.','') %];
|
||||
use strict;
|
||||
use warnings;
|
||||
use Class::Std::Storable;
|
||||
use base qw(SOAP::WSDL::Client::Base);
|
||||
|
||||
# only load if it hasn't been loaded before
|
||||
require [% typemap_prefix %]::[% service.get_name.replace('\.', '::') %]
|
||||
if not [% typemap_prefix %]::[% service.get_name.replace('\.', '::') %]->can('get_class');
|
||||
|
||||
sub START {
|
||||
$_[0]->set_proxy('[% port.first_address.get_location %]') if not $_[2]->{proxy};
|
||||
$_[0]->set_class_resolver('[% typemap_prefix %]::[% service.get_name %]')
|
||||
$_[0]->set_class_resolver('[% typemap_prefix %]::[% service.get_name.replace('\.', '::') %]')
|
||||
if not $_[2]->{class_resolver};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
use Class::Std::Storable;
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
|
||||
|
||||
{ # BLOCK to scope variables
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[% IF (complexType.get_variety == 'restriction');
|
||||
INCLUDE complexType/restriction.tt(complexType = complexType);
|
||||
ELSIF (complexType.get_variety == 'sequence');
|
||||
THROW NOT_IMPLEMENTED, "${ complexType.get_name } - complexType complexContent extension not implemented yet";
|
||||
INCLUDE complexType/extension.tt(complexType = complexType);
|
||||
ELSE;
|
||||
THROW UNKNOWN, "unknown variety ${ complexType.get_variety }";
|
||||
END;
|
||||
|
||||
@@ -1,15 +1,7 @@
|
||||
[% IF (complexType.get_variety == 'all');
|
||||
INCLUDE complexType/all.tt(complexType = complexType);
|
||||
ELSIF (complexType.get_variety == 'sequence');
|
||||
INCLUDE complexType/all.tt(complexType = complexType);
|
||||
ELSIF (complexType.get_variety == 'group');
|
||||
THROW NOT_IMPLEMENTED, "${ element.get_name } - complexType group not implemented yet";
|
||||
ELSIF (complexType.get_variety == 'choice');
|
||||
INCLUDE complexType/all.tt(complexType = complexType);
|
||||
ELSIF (complexType.get_contentModel == 'simpleContent');
|
||||
[% IF (complexType.get_contentModel == 'simpleContent');
|
||||
THROW NOT_IMPLEMENTED, "${ element.get_name } - complexType simpleContent not implemented yet";
|
||||
ELSIF (complexType.get_contentModel == 'complexContent');
|
||||
INCLUDE complexType/complexContent.tt(complexType = complexType);
|
||||
ELSE;
|
||||
THROW NOT_IMPLEMENTED, "Unknown content model ${ complexType.get_contentModel }";
|
||||
INCLUDE complexType/variety.tt(complexType = complexType);
|
||||
END %]
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
[%
|
||||
|
||||
base_name=complexType.expand( complexType.get_base);
|
||||
base_type = definitions.first_types.find_type( base_name );
|
||||
|
||||
element_from = complexType.get_element;
|
||||
|
||||
#
|
||||
# Sanity check: All original elements must be noted first
|
||||
#
|
||||
FOREACH element = base_type.get_element;
|
||||
IF element_from.${ loop.index }.get_name != element.get_name;
|
||||
THROW WSDL "${element.get_name} not found at position ${ loop.index } in extension type ${ complexType.get_name }";
|
||||
END;
|
||||
END;
|
||||
|
||||
|
||||
-%]
|
||||
use base qw([% type_prefix %]::[% base_name.1.replace('\.', '::') %]);
|
||||
[%
|
||||
|
||||
INCLUDE complexType/variety.tt(complexType = complexType);
|
||||
|
||||
%]
|
||||
@@ -1,7 +1,7 @@
|
||||
[% IF (base=complexType.get_base);
|
||||
base_name=complexType.expand(base);
|
||||
-%]
|
||||
use base qw([% type_prefix %]::[% base_name.1 %]);
|
||||
use base qw([% type_prefix %]::[% base_name.1.replace('\.', '::') %]);
|
||||
[%
|
||||
ELSE;
|
||||
THROW NOT_IMPLEMENTED, "restriction without base not supported";
|
||||
|
||||
15
lib/SOAP/WSDL/Generator/Template/XSD/complexType/variety.tt
Normal file
15
lib/SOAP/WSDL/Generator/Template/XSD/complexType/variety.tt
Normal file
@@ -0,0 +1,15 @@
|
||||
[%
|
||||
IF (complexType.get_variety == 'all');
|
||||
INCLUDE complexType/all.tt(complexType = complexType);
|
||||
ELSIF (complexType.get_variety == 'sequence');
|
||||
INCLUDE complexType/all.tt(complexType = complexType);
|
||||
ELSIF (complexType.get_variety == 'group');
|
||||
THROW NOT_IMPLEMENTED, "${ element.get_name } - complexType group not implemented yet";
|
||||
ELSIF (complexType.get_variety == 'choice');
|
||||
INCLUDE complexType/all.tt(complexType = complexType);
|
||||
ELSIF (complexType.get_variety);
|
||||
THROW NOT_IMPLEMENTED, "Unknown variety ${ complexType.get_variety } in ${ complexType.get_name } (${ element.get_name })";
|
||||
ELSE;
|
||||
# There's no variety - might be empty complexType
|
||||
END;
|
||||
%]
|
||||
@@ -227,7 +227,7 @@ L<SOAP::WSDL::XSD::Typelib::ComplexType>, L<SOAP::WSDL::XSD::Typelib::SimpleType
|
||||
L<SOAP::WSDL::XSD::Typelib::Element> tell you how to create subclasses of XML schema
|
||||
types.
|
||||
|
||||
L<SOAP::WSDL::Parser> will tell you how to create a typemap class.
|
||||
L<SOAP::WSDL::Manual::Parser> will tell you how to create a typemap class.
|
||||
|
||||
=back
|
||||
|
||||
@@ -273,7 +273,7 @@ class. This unfortunately means that you have to set the endpoint URL, too:
|
||||
|
||||
You may, of course, decide to just hack the generated class. Be advised that
|
||||
subclassing might be a more appropriate solution - re-generating overwrites
|
||||
your changes.
|
||||
changes in interface classes.
|
||||
|
||||
=head3 Accessing HTTPS webservices protected by certificate authentication
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
SOAP::WSDL::Parser - How SOAP::WSDL parses XML messages
|
||||
SOAP::WSDL::Manual::Parser - How SOAP::WSDL parses XML messages
|
||||
|
||||
=head1 Which XML message does SOAP::WSDL parse ?
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
SOAP::WSDL::XSD - SOAP::WSDL's XML Schema implementation
|
||||
SOAP::WSDL::Manual::XSD - SOAP::WSDL's XML Schema implementation
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
@@ -15,6 +15,32 @@ class (usually in it's own file).
|
||||
Atomic types are either directly included in the class of their parent's
|
||||
node, or as sub-package in their parent class' file.
|
||||
|
||||
While the implementation is still incomplete, it covers the XML schema
|
||||
definitions used by most object mappers.
|
||||
|
||||
=head1 USAGE
|
||||
|
||||
You can use SOAP::WSDL::XSD based classes just like any perl class - you may
|
||||
instantiate it, inherit from it etc.
|
||||
|
||||
You should be aware, that SOAP::WSDL::XSD based classes are inside-out
|
||||
classes using Class::Std, though - things you would expect from hash-based
|
||||
classes like using the blessed hash ref as data storage won't work.
|
||||
|
||||
Moreover, most classes override Class::Std's default constructor for speed -
|
||||
you should not expect BUILD or START methods to work, unless you call them
|
||||
yourself (or define a new constructor).
|
||||
|
||||
All SOAP::WSDL::XSD based complexType classes allow a hash ref mathing their
|
||||
data structure as only parameter to new(). You may mix hash and list refs and
|
||||
objects in the structure passed to new - as long as the structure matches, it
|
||||
will work fine.
|
||||
|
||||
All SOAP::WSDL::XSD based simpleType (and builtin) classes accept a single
|
||||
hash ref with the only key "value" and the value to be set as value.
|
||||
|
||||
=head1 HOW IT WORKS
|
||||
|
||||
=head2 Base classes
|
||||
|
||||
SOAP::WSDL::XSD provides a set of base classes for the construction of XML
|
||||
@@ -43,7 +69,14 @@ L</TRANSLATION RULES> for details.
|
||||
|
||||
=head3 complexType construction class
|
||||
|
||||
For the construction of complexType classes, the
|
||||
For the construction of complexType classes, the construction class
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType is provided. It provides a __factory
|
||||
method for placing attributes in generated classes, and generating
|
||||
appropriate setter/getter accessors.
|
||||
|
||||
The setters are special: They handle complex data structures of any type
|
||||
(meaning hash refs, list refs and objects, and any combination of them), as
|
||||
long as their structure matches the expected structure.
|
||||
|
||||
=head1 TRANSLATION RULES
|
||||
|
||||
@@ -81,9 +114,9 @@ SOAP::WSDL::XSD::Typelib::Element and from the base type of the atomic type.
|
||||
|
||||
Element atomic Type
|
||||
base class base class
|
||||
^ ^
|
||||
| |
|
||||
-------------
|
||||
^ ^
|
||||
| |
|
||||
--------------
|
||||
|
|
||||
element simpleType class
|
||||
|
||||
@@ -95,9 +128,9 @@ SOAP::WSDL::XSD::Typelib::ComplexType.
|
||||
|
||||
Element complexType
|
||||
base class base class
|
||||
^ ^
|
||||
| |
|
||||
-------------
|
||||
^ ^
|
||||
| |
|
||||
--------------
|
||||
|
|
||||
element complexType class
|
||||
|
||||
@@ -108,14 +141,36 @@ TODO add more elaborate description
|
||||
Some content models are not implemented yet. The content models
|
||||
implemented are described below.
|
||||
|
||||
=head3 complexType with "sequence" variety
|
||||
|
||||
=head3 complexType with "all" variety
|
||||
|
||||
Complex types with "all" variety inherit from
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType, and call it's factory method for
|
||||
creating fields and accessors/mutators for the complexType's elements.
|
||||
|
||||
All element's type classes are loaded. Complex type classes have a "has a"
|
||||
relationship to their element fields.
|
||||
|
||||
Element fields may either be element classes (for element ref="") or type
|
||||
classes (for element type=""). No extra element classes are created for
|
||||
a complexType's elements.
|
||||
|
||||
complexType
|
||||
base class
|
||||
^
|
||||
|
|
||||
complexType all
|
||||
---------------- has a
|
||||
element name="a" ------------> Element or type class object
|
||||
element name="b" ------------> Element or type class object
|
||||
|
||||
The implementation for all does enforce the order of elements as described
|
||||
in the WSDL, even though this is not required by the XML Schema
|
||||
specification.
|
||||
|
||||
=head3 complexType with "sequence" variety
|
||||
|
||||
The implementation of the "sequence" variety is the same as for all.
|
||||
|
||||
=head3 complexType with "choice" variety
|
||||
|
||||
The implementation for choice currently is the same as for all - which means,
|
||||
@@ -123,6 +178,13 @@ no check for occurence are made.
|
||||
|
||||
=head3 complexType with complexContent content model
|
||||
|
||||
Note that complexType classes with complexContent content model don't exhibit
|
||||
their type via the xsi:type attribute yet, so they currently cannot be used
|
||||
as a replacement for their base type.
|
||||
|
||||
SOAP::WSDL's XSD deserializer backend does not recognize the xsi:type=""
|
||||
attribute either yet.
|
||||
|
||||
=over
|
||||
|
||||
=item * restriction variety
|
||||
@@ -130,12 +192,37 @@ no check for occurence are made.
|
||||
ComplexType classes with restriction variety inherit from their base type.
|
||||
No additional processing or content checking is performed yet.
|
||||
|
||||
Note that complexType with restriction variety classes don't exhibit their
|
||||
type via the xsi:type attribute yet, so they currently cannot be used as
|
||||
a replacement for their base type.
|
||||
complexType
|
||||
base type class
|
||||
^
|
||||
|
|
||||
complexType
|
||||
restriction
|
||||
|
||||
=item * extension variety
|
||||
|
||||
ComplexType classes with extension variety inherit from the XSD base
|
||||
complexType class and from their base type.
|
||||
|
||||
Extension classes are checked for (re-)defining all elements of their parent
|
||||
class.
|
||||
|
||||
Note that a derived type's elements (=properties) overrides the getter /
|
||||
setter methods for all inherited elements. All object data is stored in the
|
||||
derived type's class, not in the defining class (See L<Class::Std> for a
|
||||
discussion on inside out object data storage).
|
||||
|
||||
No additional processing or content checking is performed yet.
|
||||
|
||||
complexType complexType
|
||||
base class base type class
|
||||
^ ^
|
||||
| |
|
||||
-----------------
|
||||
|
|
||||
complexType
|
||||
extension
|
||||
|
||||
=back
|
||||
|
||||
=head2 SimpleType
|
||||
@@ -155,8 +242,6 @@ SOAP::WSDL::XSD::Typelib::XSD::list.
|
||||
Derivation by restriction is implemented by inheriting from a base type and
|
||||
applying the required restrictions.
|
||||
|
||||
=head2 Complex Types
|
||||
|
||||
=head1 FACETS
|
||||
|
||||
XML Schema facets are not implemented yet.
|
||||
@@ -182,7 +267,6 @@ The following XML Schema declaration elements are not supported yet:
|
||||
|
||||
=item * Type definition elements
|
||||
|
||||
complexContent - only restriction supported
|
||||
simpleContent
|
||||
union
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
#!/usr/bin/perl -w
|
||||
# TODO rename to ::XSD
|
||||
package SOAP::WSDL::Serializer::SOAP11;
|
||||
package SOAP::WSDL::Serializer::XSD;
|
||||
use strict;
|
||||
use warnings;
|
||||
use Class::Std::Storable;
|
||||
|
||||
our $VERSION='2.00_13';
|
||||
our $VERSION='2.00_21';
|
||||
|
||||
my $SOAP_NS = 'http://schemas.xmlsoap.org/soap/envelope/';
|
||||
my $XML_INSTANCE_NS = 'http://www.w3.org/2001/XMLSchema-instance';
|
||||
@@ -90,7 +90,7 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
$Rev: 288 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: HTTP.pm 288 2007-09-29 19:34:20Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
@@ -136,6 +136,10 @@ my %TYPES = (
|
||||
type => 'METHOD',
|
||||
method => 'set_restriction',
|
||||
},
|
||||
extension => {
|
||||
type => 'METHOD',
|
||||
method => 'set_extension',
|
||||
},
|
||||
list => {
|
||||
type => 'METHOD',
|
||||
method => 'set_list',
|
||||
|
||||
@@ -18,7 +18,7 @@ my %abstract_of :ATTR(:name<abstract> :default<()>);
|
||||
my %mixed_of :ATTR(:name<mixed> :default<()>); # default is false
|
||||
|
||||
# is set to simpleContent/complexContent
|
||||
my %content_model_of :ATTR(:name<contentModel> :default<()>);
|
||||
my %content_model_of :ATTR(:name<contentModel> :default<NONE>);
|
||||
|
||||
sub get_variety; *get_variety = \&get_flavor;
|
||||
|
||||
@@ -45,6 +45,12 @@ sub set_restriction {
|
||||
$base_of{ ident $self } = $element->{ Value };
|
||||
}
|
||||
|
||||
sub set_extension {
|
||||
my $self = shift;
|
||||
my $element = shift;
|
||||
$flavor_of{ ident $self } = 'extension';
|
||||
$base_of{ ident $self } = $element->{ Value };
|
||||
}
|
||||
|
||||
sub init {
|
||||
my $self = shift;
|
||||
|
||||
@@ -4,7 +4,7 @@ use warnings;
|
||||
use Class::Std::Storable;
|
||||
use base qw(SOAP::WSDL::Base);
|
||||
|
||||
our $VERSION='2.00_17';
|
||||
our $VERSION='2.00_22';
|
||||
|
||||
my %annotation_of :ATTR(:name<annotation> :default<()>);
|
||||
my %simpleType_of :ATTR(:name<simpleType> :default<()>);
|
||||
|
||||
@@ -3,9 +3,6 @@ use strict;
|
||||
use warnings;
|
||||
use Class::Std::Storable;
|
||||
|
||||
# my %xmlns_of :ATTR(:get<xmlns> :init_arg<xmlns> :default<()>);
|
||||
|
||||
# sub set_xmlns { $xmlns_of{ ident $_[0] } = $_[1] };
|
||||
sub get_xmlns { 'http://www.w3.org/2001/XMLSchema' };
|
||||
|
||||
# use $_[1] for performance
|
||||
|
||||
@@ -41,6 +41,7 @@ BEGIN {
|
||||
sub set_value {
|
||||
# use set_value from base class if we have a XML-DateTime format
|
||||
#2037-12-31T00:00:00.0000000+01:00
|
||||
return if not $_[1];
|
||||
return $_[0]->SUPER::set_value($_[1]) if (
|
||||
$_[1] =~ m{ ^\d{4} \- \d{2} \- \d{2}
|
||||
T \d{2} \: \d{2} \: \d{2} (:? \. \d{1,7} )?
|
||||
@@ -50,7 +51,8 @@ sub set_value {
|
||||
|
||||
# strptime sets empty values to undef - and strftime doesn't like that...
|
||||
my @time_from = map { ! defined $_ ? 0 : $_ } strptime($_[1]);
|
||||
undef $time_from[-1];
|
||||
return if not (@time_from);
|
||||
undef $time_from[$#time_from];
|
||||
|
||||
my $time_str = strftime( '%Y-%m-%dT%H:%M:%S%z', @time_from );
|
||||
substr $time_str, -2, 0, ':';
|
||||
|
||||
@@ -4,6 +4,8 @@ use warnings;
|
||||
use Date::Parse;
|
||||
use Date::Format;
|
||||
|
||||
our $VERSION='2.00_18';
|
||||
|
||||
# Speed up. Class::Std::new is slow - and we don't need it's functionality...
|
||||
BEGIN {
|
||||
use Class::Std::Storable;
|
||||
@@ -40,8 +42,16 @@ sub set_value {
|
||||
# We leave out the optional nanoseconds part, as it would always be empty.
|
||||
else {
|
||||
# strptime sets empty values to undef - and strftime doesn't like that...
|
||||
# we even need to set it to 1 to prevent a "Day '0' out of range 1..31" warning...
|
||||
my @time_from = map { ! defined $_ ? 1 : $_ } strptime($_[1]);
|
||||
# we even need to set it to 1 to prevent a "Day '0' out of range 1..31" warning..
|
||||
|
||||
# we need to set the current date for correct TZ conversion -
|
||||
# could be daylight savings time
|
||||
my @now = localtime;
|
||||
my @time_from = map { my $alternative = shift @now;
|
||||
! defined $_
|
||||
? $alternative
|
||||
: $_ } strptime($_[1]);
|
||||
undef $time_from[-1];
|
||||
my $time_str = strftime( '%H:%M:%S%z', @time_from );
|
||||
substr $time_str, -2, 0, ':';
|
||||
$_[0]->SUPER::set_value($time_str);
|
||||
|
||||
@@ -9,7 +9,7 @@ use Class::Std::Storable;
|
||||
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anyType);
|
||||
|
||||
our $VERSION = '2.00_16';
|
||||
our $VERSION = '2.00_22';
|
||||
|
||||
my %ELEMENTS_FROM;
|
||||
my %ATTRIBUTES_OF;
|
||||
@@ -19,10 +19,11 @@ my %CLASSES_OF;
|
||||
# We could also handle them via AUTOMETHOD,
|
||||
# but AUTOMETHOD should always croak...
|
||||
# Do we really need this ?
|
||||
#sub STORABLE_freeze_pre {}
|
||||
#sub STORABLE_freeze_post {}
|
||||
#sub STORABLE_thaw_pre {}
|
||||
#sub STORABLE_thaw_post {}
|
||||
# ... looks like we do...
|
||||
sub STORABLE_freeze_pre {}
|
||||
sub STORABLE_freeze_post {}
|
||||
sub STORABLE_thaw_pre {}
|
||||
sub STORABLE_thaw_post {}
|
||||
|
||||
# for error reporting. Eases working with data objects...
|
||||
sub AUTOMETHOD {
|
||||
@@ -115,7 +116,8 @@ sub _factory {
|
||||
: $is_ref eq $type
|
||||
? $_[1]
|
||||
: die croak "cannot use $is_ref reference as value for $name - $type required"
|
||||
: $type->new({ value => $_[1] });
|
||||
: $type->new({ value => $_[1] });
|
||||
return;
|
||||
};
|
||||
|
||||
*{ "$class\::add_$name" } = sub {
|
||||
@@ -124,15 +126,20 @@ sub _factory {
|
||||
if not defined $_[1];
|
||||
|
||||
# first call
|
||||
return $attribute_ref->{ $ident } = $_[1]
|
||||
if not defined $attribute_ref->{ $ident };
|
||||
|
||||
# second call: listify previous value if it's no list
|
||||
$attribute_ref->{ $ident } = [ $attribute_ref->{ $ident } ]
|
||||
if not ref $attribute_ref->{ $ident } eq 'ARRAY';
|
||||
if (not defined $attribute_ref->{ $ident }) {
|
||||
$attribute_ref->{ $ident } = $_[1];
|
||||
return;
|
||||
}
|
||||
|
||||
if (not ref $attribute_ref->{ $ident } eq 'ARRAY') {
|
||||
# second call: listify previous value if it's no list
|
||||
$attribute_ref->{ $ident } = [ $attribute_ref->{ $ident } ];
|
||||
return;
|
||||
}
|
||||
|
||||
# second and following: add to list
|
||||
return push @{ $attribute_ref->{ $ident } }, $_[1];
|
||||
push @{ $attribute_ref->{ $ident } }, $_[1];
|
||||
return;
|
||||
};
|
||||
|
||||
*{ "$class\::$name" } = *{ "$class\::add_$name" };
|
||||
@@ -174,7 +181,6 @@ sub _factory {
|
||||
# But what about choice, extension ?
|
||||
*{ "$class\::_serialize" } = sub {
|
||||
my $ident = ident $_[0];
|
||||
# my $class = ref $_[0];
|
||||
# return concatenated return value of serialize call of all
|
||||
# elements retrieved from get_elements expanding list refs.
|
||||
# get_elements is inlined for performance.
|
||||
@@ -209,14 +215,13 @@ sub _factory {
|
||||
};
|
||||
|
||||
*{ "$class\::serialize" } = sub {
|
||||
my ($self, $opt) = @_;
|
||||
$opt ||= {};
|
||||
$_[1] ||= {}; # maybe even replace by assigning a constant var
|
||||
|
||||
# do we have a empty element ?
|
||||
return $self->start_tag({ %$opt, empty => 1 })
|
||||
return $_[0]->start_tag({ %{ $_[1] }, empty => 1 })
|
||||
if not defined $ELEMENTS_FROM{ $class } or not @{ $ELEMENTS_FROM{ $class } };
|
||||
return join q{}, $self->start_tag($opt),
|
||||
$self->_serialize(), $self->end_tag();
|
||||
return join q{}, $_[0]->start_tag($_[1]),
|
||||
$_[0]->_serialize(), $_[0]->end_tag();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -376,10 +381,10 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 309 $
|
||||
$Rev: 337 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: ComplexType.pm 309 2007-10-05 17:48:37Z kutterma $
|
||||
$HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm $
|
||||
$Id: ComplexType.pm 337 2007-10-22 20:04:59Z kutterma $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm $
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@ my %REF;
|
||||
my %MIN_OCCURS;
|
||||
my %MAX_OCCURS;
|
||||
|
||||
# TODO replace by generated methods?
|
||||
#
|
||||
# Class data - remember, we're the base class for a class factory or for
|
||||
# generated code...
|
||||
# use BLOCK: for scoping
|
||||
@@ -48,6 +50,9 @@ sub start_tag {
|
||||
if ($_[1]->{qualified}) {
|
||||
push @attr_from, 'xmlns="' . $_[0]->get_xmlns . '"';
|
||||
}
|
||||
|
||||
# do we need to check for name ? Element ref="" should have it's own
|
||||
# start_tag. If we don't need to check, we can speed things up
|
||||
return join q{ }, "<$_[1]->{ name }" , @attr_from , $ending if $_[1]->{ name };
|
||||
return join q{ }, "<$NAME{ ref $_[0]}" , @attr_from , $ending;
|
||||
}
|
||||
@@ -61,6 +66,9 @@ sub start_tag {
|
||||
# return "</$opt->{name}>" if $opt->{name};
|
||||
# return "</"$NAME{$class}>";
|
||||
#
|
||||
# do we need to check for name ? Element ref="" should have it's own
|
||||
# end_tag. If we don't need to check, we can speed things up by defining
|
||||
# end tag with () prototype - perl will inline it for us if we do...
|
||||
sub end_tag {
|
||||
return "</$_[1]->{name}>" if $_[1]->{name};
|
||||
return "</$NAME{ ref $_[0] }>";
|
||||
|
||||
@@ -7,8 +7,8 @@ use lib '../lib';
|
||||
my @modules = qw(
|
||||
SOAP::WSDL
|
||||
SOAP::WSDL::Client
|
||||
SOAP::WSDL::Serializer::SOAP11
|
||||
SOAP::WSDL::Deserializer::SOAP11
|
||||
SOAP::WSDL::Serializer::XSD
|
||||
SOAP::WSDL::Deserializer::XSD
|
||||
SOAP::WSDL::Transport::HTTP
|
||||
SOAP::WSDL::Definitions
|
||||
SOAP::WSDL::Message
|
||||
|
||||
@@ -21,7 +21,6 @@ my $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path .'/t/acceptance/wsdl/006_sax_client.wsdl',
|
||||
outputxml => 1, # required, if not set ::SOM serializer will be loaded on
|
||||
# call
|
||||
readable => 1,
|
||||
)->wsdlinit();
|
||||
|
||||
$soap->servicename('MessageGateway');
|
||||
|
||||
@@ -10,7 +10,7 @@ eval {
|
||||
import Test::XML;
|
||||
};
|
||||
|
||||
use_ok qw/SOAP::WSDL::Serializer::SOAP11/;
|
||||
use_ok qw/SOAP::WSDL::Serializer::XSD/;
|
||||
|
||||
my $opt = {
|
||||
readable => 1,
|
||||
@@ -18,7 +18,7 @@ my $opt = {
|
||||
},
|
||||
};
|
||||
my $xml;
|
||||
ok( $xml = SOAP::WSDL::Serializer::SOAP11->serialize(
|
||||
ok( $xml = SOAP::WSDL::Serializer::XSD->serialize(
|
||||
undef, undef, $opt
|
||||
),
|
||||
"serialize empty envelope"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 6;
|
||||
use Test::More tests => 5;
|
||||
use lib 't/lib';
|
||||
use lib '../lib';
|
||||
use lib 'lib';
|
||||
@@ -39,14 +39,12 @@ else
|
||||
# TODO factor out into different test
|
||||
|
||||
my $soap = SOAP::WSDL->new(
|
||||
readable => 1,
|
||||
wsdl => 'file:///' . $path .'/t/acceptance/wsdl/006_sax_client.wsdl',
|
||||
)->wsdlinit();
|
||||
|
||||
$soap->servicename('MessageGateway');
|
||||
|
||||
ok( $soap->no_dispatch( 1 ) , "Set no_dispatch" );
|
||||
ok( $soap->readable( 0 ) , "Set readable");
|
||||
|
||||
sub xml {
|
||||
q{<SOAP-ENV:Envelope
|
||||
|
||||
@@ -14,6 +14,12 @@ if ($@)
|
||||
}
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
my ($volume, $dir) = File::Spec->splitpath($path, 1);
|
||||
my @dir_from = File::Spec->splitdir($dir);
|
||||
unshift @dir_from, $volume if $volume;
|
||||
my $url = join '/', @dir_from;
|
||||
|
||||
# print $url;
|
||||
|
||||
use_ok(qw/SOAP::WSDL/);
|
||||
|
||||
@@ -24,8 +30,7 @@ my $soap;
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-all.wsdl',
|
||||
readable =>1,
|
||||
wsdl => 'file://' . $url . '/../../acceptance/wsdl/03_complexType-all.wsdl',
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
|
||||
@@ -7,6 +7,6 @@ my $soap = SOAP::WSDL->new();
|
||||
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement <choice> support";
|
||||
local $TODO="implement tests";
|
||||
fail "serialize choice element";
|
||||
}
|
||||
@@ -17,6 +17,6 @@ my $soap = SOAP::WSDL->new();
|
||||
|
||||
|
||||
TODO: {
|
||||
local $TODO="implement <complexContent> support";
|
||||
local $TODO="implement <complexContent> tests";
|
||||
fail "serialize complexContent element";
|
||||
}
|
||||
@@ -12,15 +12,17 @@ use_ok(qw/SOAP::WSDL/);
|
||||
print "# SOAP::WSDL Version: $SOAP::WSDL::VERSION\n";
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
my ($volume, $dir) = File::Spec->splitpath($path, 1);
|
||||
my @dir_from = File::Spec->splitdir($dir);
|
||||
unshift @dir_from, $volume if $volume;
|
||||
my $url = join '/', @dir_from;
|
||||
|
||||
my $xml;
|
||||
my $soap;
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-element-ref.wsdl',
|
||||
readable => 1,
|
||||
wsdl => 'file://' . $url . '/../../acceptance/wsdl/03_complexType-element-ref.wsdl',
|
||||
no_dispatch => 1,
|
||||
), 'Instantiated object' );
|
||||
|
||||
|
||||
@@ -19,10 +19,14 @@ use_ok(qw/SOAP::WSDL/);
|
||||
my $xml;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
my ($volume, $dir) = File::Spec->splitpath($path, 1);
|
||||
my @dir_from = File::Spec->splitdir($dir);
|
||||
unshift @dir_from, $volume if $volume;
|
||||
my $url = join '/', @dir_from;
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/03_complexType-sequence.wsdl'
|
||||
wsdl => 'file://' . $url . '/../../acceptance/wsdl/03_complexType-sequence.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
|
||||
@@ -14,14 +14,10 @@ my $soap = undef;
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/04_element-simpleType.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
$soap->readable(1);
|
||||
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
@@ -17,10 +17,14 @@ use_ok(qw/SOAP::WSDL/);
|
||||
my $soap;
|
||||
my $xml;
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
my ($volume, $dir) = File::Spec->splitpath($path, 1);
|
||||
my @dir_from = File::Spec->splitdir($dir);
|
||||
unshift @dir_from, $volume if $volume;
|
||||
my $url = join '/', @dir_from;
|
||||
|
||||
#2
|
||||
ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file://' . $path . '/../../acceptance/wsdl/04_element.wsdl'
|
||||
wsdl => 'file://' . $url . '/../../acceptance/wsdl/04_element.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
|
||||
@@ -17,7 +17,6 @@ ok( $soap = SOAP::WSDL->new(
|
||||
wsdl => 'file:///' . $path . '/../../acceptance/wsdl/05_simpleType-list.wsdl'
|
||||
), 'Instantiated object' );
|
||||
|
||||
$soap->readable(1);
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
# which requires SOAP::Lite
|
||||
$soap->outputxml(1);
|
||||
|
||||
@@ -20,7 +20,6 @@ ok( $soap = SOAP::WSDL->new(
|
||||
), 'Instantiated object' );
|
||||
|
||||
#3
|
||||
$soap->readable(1);
|
||||
ok( $soap->wsdlinit(
|
||||
servicename => 'testService',
|
||||
), 'parsed WSDL' );
|
||||
|
||||
@@ -16,7 +16,6 @@ ok $soap = SOAP::WSDL->new(
|
||||
), 'Instantiated object';
|
||||
|
||||
#3
|
||||
$soap->readable(1);
|
||||
ok $soap->wsdlinit(), 'parsed WSDL';
|
||||
$soap->no_dispatch(1);
|
||||
# won't work without - would require SOAP::WSDL::Deserializer::SOM,
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
use Test::More;
|
||||
use SOAP::Lite;
|
||||
eval { require SOAP::Lite } or do {
|
||||
plan skip_all => 'SOAP::Lite not available';
|
||||
exit 0;
|
||||
};
|
||||
|
||||
print "# Using SOAP::Lite $SOAP::Lite::VERSION\n";
|
||||
|
||||
use lib '../../../lib';
|
||||
plan tests => 10;
|
||||
use_ok qw(SOAP::WSDL::Deserializer::SOM);
|
||||
@@ -14,8 +17,12 @@ ok my $som = $deserializer->deserialize(q{<a><b>1</b><b>2</b><c>3</c></a>});
|
||||
my $data = $som->match('/a')->valueof;
|
||||
|
||||
is $data->{ c } , 3;
|
||||
is $data->{ b }->[0] , 1;
|
||||
is $data->{ b }->[1] , 2;
|
||||
|
||||
SKIP: {
|
||||
skip "SOAP::Lite > 0.69 required" , 2 if ($SOAP::Lite::VERSION < 0.69);
|
||||
is $data->{ b }->[0] , 1, "array values - SOAP::Lite $SOAP::Lite::VERSION";;
|
||||
is $data->{ b }->[1] , 2, "array values - SOAP::Lite $SOAP::Lite::VERSION";;
|
||||
}
|
||||
|
||||
eval { $deserializer->generate_fault({
|
||||
role => 'soap:Server',
|
||||
|
||||
@@ -2,12 +2,12 @@ use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 5;
|
||||
|
||||
use SOAP::WSDL::Deserializer::SOAP11;
|
||||
use SOAP::WSDL::Deserializer::XSD;
|
||||
|
||||
my $obj;
|
||||
|
||||
ok $obj = SOAP::WSDL::Deserializer::SOAP11->new();
|
||||
ok $obj = SOAP::WSDL::Deserializer::SOAP11->new({
|
||||
ok $obj = SOAP::WSDL::Deserializer::XSD->new();
|
||||
ok $obj = SOAP::WSDL::Deserializer::XSD->new({
|
||||
class_resolver => 'TestResolver',
|
||||
some_other_option => 'ignored',
|
||||
});
|
||||
|
||||
@@ -19,14 +19,8 @@ my $generator = SOAP::WSDL::Generator::Template::XSD->new({
|
||||
definitions => $definitions,
|
||||
});
|
||||
my $output = q{};
|
||||
$generator->generate_interface({
|
||||
NO_POD => 1,
|
||||
output => \$output,
|
||||
});
|
||||
|
||||
ok eval $output;
|
||||
|
||||
$output = q{};
|
||||
$generator->generate_typemap({
|
||||
NO_POD => 1,
|
||||
output => \$output,
|
||||
@@ -35,7 +29,19 @@ $generator->generate_typemap({
|
||||
ok eval $output;
|
||||
print $@ if $@;
|
||||
|
||||
print $output;
|
||||
#print $output;
|
||||
|
||||
$output = q{};
|
||||
$generator->generate_interface({
|
||||
NO_POD => 1,
|
||||
output => \$output,
|
||||
});
|
||||
|
||||
ok eval $output;
|
||||
print $@ if $@;
|
||||
|
||||
|
||||
# print $output;
|
||||
__END__
|
||||
|
||||
my $tt = Template->new(
|
||||
|
||||
25
t/SOAP/WSDL/Generator/XCS.t
Normal file
25
t/SOAP/WSDL/Generator/XCS.t
Normal file
@@ -0,0 +1,25 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use File::Spec;
|
||||
use File::Basename;
|
||||
eval { require XML::Compile::WSDL11 }
|
||||
or plan skip_all => 'Cannot test without XML::Compile::WSDL11';
|
||||
|
||||
eval { require XML::LibXML }
|
||||
or plan skip_all => 'Cannot test without XML::LibXML';
|
||||
|
||||
plan skip_all => 'XML::Compile::WSDL11 is not functional yet';
|
||||
|
||||
plan tests => qw(no_plan);
|
||||
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__ );
|
||||
|
||||
my $libxml = XML::LibXML->new();
|
||||
my $xml = $libxml->parse_file("$path/../../../acceptance/wsdl/generator_test.wsdl");
|
||||
|
||||
my $wsdl = XML::Compile::WSDL11->new($xml);
|
||||
my $schemas = $wsdl->schemas;
|
||||
my $operation = $wsdl->operation('testHeader');
|
||||
|
||||
my $client = $operation->prepareClient();
|
||||
@@ -1,4 +1,4 @@
|
||||
use Test::More tests => 26;
|
||||
use Test::More tests => 30;
|
||||
use File::Basename qw(dirname);
|
||||
use File::Spec;
|
||||
use File::Path;
|
||||
@@ -107,5 +107,15 @@ $complexRestriction = MyTypes::testComplexTypeRestriction->new({
|
||||
is $complexRestriction->get_Test1(), 'test1';
|
||||
is $complexRestriction->get_Test2(), 'test2';
|
||||
|
||||
ok eval { require MyTypes::testComplexTypeExtension };
|
||||
$complexExtension = MyTypes::testComplexTypeExtension->new({
|
||||
Test1 => 'test1',
|
||||
Test2 => 'test2',
|
||||
Test3 => 'test3',
|
||||
});
|
||||
is $complexExtension->get_Test1(), 'test1';
|
||||
is $complexExtension->get_Test2(), 'test2';
|
||||
is $complexExtension->get_Test3(), 'test3';
|
||||
|
||||
|
||||
rmtree "$path/testlib";
|
||||
|
||||
@@ -2,6 +2,17 @@ use Test::More tests => 3;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use Date::Parse;
|
||||
use Date::Format;
|
||||
|
||||
sub timezone {
|
||||
my @time = localtime;
|
||||
my $tz = strftime('%z', @time);
|
||||
substr $tz, -2, 0, ':';
|
||||
return $tz;
|
||||
}
|
||||
|
||||
my $timezone = timezone;
|
||||
|
||||
use_ok('SOAP::WSDL::XSD::Typelib::Builtin::time');
|
||||
my $obj;
|
||||
@@ -9,7 +20,7 @@ my $obj;
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::time->new();
|
||||
|
||||
$obj->set_value( '12:23:03' );
|
||||
is $obj->get_value() , '12:23:03+01:00', 'conversion';
|
||||
is $obj->get_value() , "12:23:03$timezone", 'conversion';
|
||||
|
||||
$obj->set_value( '12:23:03.12345+01:00' ), ;
|
||||
is $obj->get_value() , '12:23:03.12345+01:00', 'no conversion';
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
||||
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
||||
xmlns="http://schemas.xmlsoap.org/wsdl/"
|
||||
>
|
||||
<types>
|
||||
<xsd:schema targetNamespace="urn:Test">
|
||||
@@ -83,6 +84,21 @@
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="testComplexTypeExtension">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>complexType extension test</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
<xsd:complexContent>
|
||||
<xsd:extension base="tns:testComplexTypeAll">
|
||||
<xsd:sequence>
|
||||
<xsd:element name="Test1" type="xsd:string" />
|
||||
<xsd:element name="Test2" type="xsd:string" minOccurs="1"/>
|
||||
<xsd:element name="Test3" type="xsd:string" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
</xsd:extension>
|
||||
</xsd:complexContent>
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="testComplexTypeChoice">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>
|
||||
@@ -197,9 +213,9 @@
|
||||
</portType>
|
||||
|
||||
<binding type="tns:testPort" name="testBinding">
|
||||
<operation name="testChoice">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<soap:operation soapAction="testChoice"/>
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<operation name="testChoice">
|
||||
<soap:operation soapAction="testChoice" style="document"/>
|
||||
<input>
|
||||
<soap:body use="literal"/>
|
||||
</input>
|
||||
@@ -209,8 +225,7 @@
|
||||
</operation>
|
||||
|
||||
<operation name="test">
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<soap:operation soapAction="test"/>
|
||||
<soap:operation soapAction="test" style="document"/>
|
||||
<input>
|
||||
<soap:body use="literal"/>
|
||||
</input>
|
||||
@@ -218,10 +233,8 @@
|
||||
<soap:body use="literal"/>
|
||||
</output>
|
||||
</operation>
|
||||
|
||||
<operation name="testHeader">
|
||||
<soap:operation soapAction="testHeader"/>
|
||||
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
|
||||
<input>
|
||||
<soap:body use="literal" parts="tns:testBody"/>
|
||||
<soap:header use="literal" part="tns:testHeader" message="tns:testHeaderRequest"/>
|
||||
|
||||
Reference in New Issue
Block a user