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 "{name}>" if $opt->{name}; # return ""; # +# 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 "{name}>" if $_[1]->{name}; return ""; 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', });