diff --git a/Build.PL b/Build.PL
index 15c6433..aca6aae 100644
--- a/Build.PL
+++ b/Build.PL
@@ -4,11 +4,15 @@ $build = Module::Build->new(
create_makefile_pl => 'passthrough',
dist_abstract => 'SOAP with WSDL support',
dist_name => 'SOAP-WSDL',
- dist_version => '2.00_20',
+ 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,
'Date::Parse' => 0,
@@ -42,7 +46,7 @@ $build = Module::Build->new(
recursive_test_files => 1,
meta_add => {
no_index => {
- namespace => 'SOAP::WSDL::Generator::Template::XSD',
+ directory => 'lib/SOAP/WSDL/Generator/Template/XSD/',
},
}
);
diff --git a/CHANGES b/CHANGES
index 272572c..cbd0a19 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,4 @@
-Release notes for SOAP::WSDL 2.00_20
+Release notes for SOAP::WSDL 2.00_22
-------
I'm proud to present a new pre-release version of SOAP::WSDL.
@@ -33,6 +33,34 @@ 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
diff --git a/MANIFEST b/MANIFEST
index cc2ad57..15441d8 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,316 +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/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/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/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
+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
diff --git a/META.yml b/META.yml
index 53140b3..68a6b8d 100644
--- a/META.yml
+++ b/META.yml
@@ -1,9 +1,11 @@
---
name: SOAP-WSDL
-version: 2.00_20
-author:
+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
@@ -18,12 +20,7 @@ requires:
Template: 0
Term::ReadKey: 0
XML::Parser::Expat: 0
-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:
- namespace: SOAP::WSDL::Generator::Template::XSD
+ perl: 5.8.0
provides:
SOAP::WSDL:
file: lib/SOAP/WSDL.pm
@@ -45,12 +42,12 @@ provides:
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::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:
@@ -108,9 +105,9 @@ provides:
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::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:
@@ -132,7 +129,7 @@ provides:
version: 2.00_17
SOAP::WSDL::XSD::Element:
file: lib/SOAP/WSDL/XSD/Element.pm
- version: 2.00_17
+ version: 2.00_22
SOAP::WSDL::XSD::Schema:
file: lib/SOAP/WSDL/XSD/Schema.pm
SOAP::WSDL::XSD::Schema::Builtin:
@@ -239,12 +236,16 @@ provides:
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
+ 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
-resources:
- license: http://opensource.org/licenses/artistic-license.php
+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/
diff --git a/SOAP-WSDL-2.00_21.ppd b/SOAP-WSDL-2.00_21.ppd
new file mode 100644
index 0000000..2e5cc15
--- /dev/null
+++ b/SOAP-WSDL-2.00_21.ppd
@@ -0,0 +1,15 @@
+
+
+ SOAP-WSDL-2.00_21
+ SOAP with WSDL support
+ Martin Kutter <MKUTTER@cpan.org>
+
+
+
+
+
+
+
+
+
+
diff --git a/SOAP-WSDL-2.00_21.zip b/SOAP-WSDL-2.00_21.zip
new file mode 100644
index 0000000..e7bdd94
Binary files /dev/null and b/SOAP-WSDL-2.00_21.zip differ
diff --git a/lib/SOAP/WSDL.pm b/lib/SOAP/WSDL.pm
index f71acec..f19ae98 100644
--- a/lib/SOAP/WSDL.pm
+++ b/lib/SOAP/WSDL.pm
@@ -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,9 +736,9 @@ Martin Kutter Emartin.kutter fen-net.deE
=head1 REPOSITORY INFORMATION
- $Rev: 308 $
+ $Rev: 332 $
$LastChangedBy: kutterma $
- $Id: WSDL.pm 308 2007-10-05 17:35:28Z kutterma $
+ $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
diff --git a/lib/SOAP/WSDL/Deserializer/SOAP11.pm b/lib/SOAP/WSDL/Deserializer/XSD.pm
similarity index 95%
rename from lib/SOAP/WSDL/Deserializer/SOAP11.pm
rename to lib/SOAP/WSDL/Deserializer/XSD.pm
index 39cf73e..7648aa4 100644
--- a/lib/SOAP/WSDL/Deserializer/SOAP11.pm
+++ b/lib/SOAP/WSDL/Deserializer/XSD.pm
@@ -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 :default<()>);
diff --git a/lib/SOAP/WSDL/Factory/Deserializer.pm b/lib/SOAP/WSDL/Factory/Deserializer.pm
index 0b224da..a5f835c 100644
--- a/lib/SOAP/WSDL/Factory/Deserializer.pm
+++ b/lib/SOAP/WSDL/Factory/Deserializer.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
+By default, L
is registered for SOAP1.1 messages.
=head1 METHODS
diff --git a/lib/SOAP/WSDL/Factory/Serializer.pm b/lib/SOAP/WSDL/Factory/Serializer.pm
index 2499087..8a49527 100644
--- a/lib/SOAP/WSDL/Factory/Serializer.pm
+++ b/lib/SOAP/WSDL/Factory/Serializer.pm
@@ -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
@@ -138,9 +138,9 @@ Martin Kutter Emartin.kutter fen-net.deE
=head1 REPOSITORY INFORMATION
- $Rev: 325 $
+ $Rev: 329 $
$LastChangedBy: kutterma $
- $Id: Serializer.pm 325 2007-10-18 10:27:46Z kutterma $
+ $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
diff --git a/lib/SOAP/WSDL/Generator/Template.pm b/lib/SOAP/WSDL/Generator/Template.pm
index 5303f5a..d459d8e 100644
--- a/lib/SOAP/WSDL/Generator/Template.pm
+++ b/lib/SOAP/WSDL/Generator/Template.pm
@@ -42,7 +42,7 @@ sub _process :PROTECTED {
%{ $arg_ref }
},
$output)
- or die $tt->error();
+ or die $INCLUDE_PATH_of{ $ident }, '\\', $template, ' ', $tt->error();
}
diff --git a/lib/SOAP/WSDL/Generator/Template/XSD.pm b/lib/SOAP/WSDL/Generator/Template/XSD.pm
index a0bad91..b4f5ab1 100644
--- a/lib/SOAP/WSDL/Generator/Template/XSD.pm
+++ b/lib/SOAP/WSDL/Generator/Template/XSD.pm
@@ -18,7 +18,29 @@ 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;
+ }
);
}
@@ -64,6 +86,8 @@ sub generate_interface {
$service->get_name(),
$port_name,
);
+ print "Creating interface class $output\n";
+
$self->_process('Interface.tt',
{
service => $service,
@@ -96,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,
diff --git a/lib/SOAP/WSDL/Serializer/SOAP11.pm b/lib/SOAP/WSDL/Serializer/XSD.pm
similarity index 95%
rename from lib/SOAP/WSDL/Serializer/SOAP11.pm
rename to lib/SOAP/WSDL/Serializer/XSD.pm
index d541038..e259dc6 100644
--- a/lib/SOAP/WSDL/Serializer/SOAP11.pm
+++ b/lib/SOAP/WSDL/Serializer/XSD.pm
@@ -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';
diff --git a/lib/SOAP/WSDL/XSD/Element.pm b/lib/SOAP/WSDL/XSD/Element.pm
index 457738c..00810b8 100644
--- a/lib/SOAP/WSDL/XSD/Element.pm
+++ b/lib/SOAP/WSDL/XSD/Element.pm
@@ -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 :default<()>);
my %simpleType_of :ATTR(:name :default<()>);
diff --git a/lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm b/lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
index 3c30fbc..87f7d63 100644
--- a/lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
+++ b/lib/SOAP/WSDL/XSD/Typelib/Builtin/anyType.pm
@@ -3,9 +3,6 @@ use strict;
use warnings;
use Class::Std::Storable;
-# my %xmlns_of :ATTR(:get :init_arg :default<()>);
-
-# sub set_xmlns { $xmlns_of{ ident $_[0] } = $_[1] };
sub get_xmlns { 'http://www.w3.org/2001/XMLSchema' };
# use $_[1] for performance
diff --git a/lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm b/lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm
index a716bea..8f4de99 100644
--- a/lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm
+++ b/lib/SOAP/WSDL/XSD/Typelib/Builtin/dateTime.pm
@@ -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, ':';
diff --git a/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm b/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
index aa2e437..0710072 100644
--- a/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
+++ b/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm
@@ -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;
@@ -116,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 {
@@ -125,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" };
@@ -175,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.
@@ -210,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();
}
}
@@ -377,9 +381,9 @@ Martin Kutter Emartin.kutter fen-net.deE
=head1 REPOSITORY INFORMATION
- $Rev: 323 $
+ $Rev: 337 $
$LastChangedBy: kutterma $
- $Id: ComplexType.pm 323 2007-10-17 15:23:05Z kutterma $
+ $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
diff --git a/lib/SOAP/WSDL/XSD/Typelib/Element.pm b/lib/SOAP/WSDL/XSD/Typelib/Element.pm
index d627a85..6b2f566 100644
--- a/lib/SOAP/WSDL/XSD/Typelib/Element.pm
+++ b/lib/SOAP/WSDL/XSD/Typelib/Element.pm
@@ -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] }>";
diff --git a/t/001_use.t b/t/001_use.t
index 23dae3c..d5e6fcd 100644
--- a/t/001_use.t
+++ b/t/001_use.t
@@ -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
diff --git a/t/007_envelope.t b/t/007_envelope.t
index c52e974..859c49a 100644
--- a/t/007_envelope.t
+++ b/t/007_envelope.t
@@ -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"
diff --git a/t/SOAP/WSDL/Deserializer/SOM.t b/t/SOAP/WSDL/Deserializer/SOM.t
index 919e18b..00685cd 100644
--- a/t/SOAP/WSDL/Deserializer/SOM.t
+++ b/t/SOAP/WSDL/Deserializer/SOM.t
@@ -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{123});
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',
diff --git a/t/SOAP/WSDL/Deserializer/XSD.t b/t/SOAP/WSDL/Deserializer/XSD.t
index f5a1d94..16a710c 100644
--- a/t/SOAP/WSDL/Deserializer/XSD.t
+++ b/t/SOAP/WSDL/Deserializer/XSD.t
@@ -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',
});