diff --git a/Build.PL b/Build.PL index aca6aae..e130738 100644 --- a/Build.PL +++ b/Build.PL @@ -4,7 +4,7 @@ $build = Module::Build->new( create_makefile_pl => 'passthrough', dist_abstract => 'SOAP with WSDL support', dist_name => 'SOAP-WSDL', - dist_version => '2.00_22', + dist_version => '2.00_23', module_name => 'SOAP::WSDL', license => 'artistic', requires => { diff --git a/CHANGES b/CHANGES index cbd0a19..d801cb2 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,4 @@ -Release notes for SOAP::WSDL 2.00_22 +Release notes for SOAP::WSDL 2.00_23 ------- I'm proud to present a new pre-release version of SOAP::WSDL. @@ -33,6 +33,20 @@ Features: The following changes have been made: +2.00_23 +--- + +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): + + * [ 1826382 ] nillable elements not serialized as xsi:nil + * [ 1826337 ] Second element in complexType gets eaten up + * [ 1792348 ] 006_client.t requires SOAP::Lite (again) + +The following uncategorized improvements have been made: + + * Test for complexType containing element with atomic simpleType added + 2.00_22 ---- @@ -201,7 +215,7 @@ tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924): * [ 1797678 ] Move Code generator from WSDL::Definitions to separate class * [ 1803330 ] Create one interface per port - SOAP::WSDL now creats one interface per port, not one per service. + SOAP::WSDL now creates one interface per port, not one per service. 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): diff --git a/MANIFEST b/MANIFEST index 15441d8..058b673 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,319 +1,316 @@ -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 +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 diff --git a/META.yml b/META.yml index 68a6b8d..5a35a9d 100644 --- a/META.yml +++ b/META.yml @@ -1,251 +1,252 @@ ---- -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/ +--- +name: SOAP-WSDL +version: 2.00_23 +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_23 + SOAP::WSDL::XSD::Typelib::Element: + file: lib/SOAP/WSDL/XSD/Typelib/Element.pm + version: 2.00_23 + 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/ diff --git a/Makefile.PL b/Makefile.PL index fe3c4b9..192903a 100644 --- a/Makefile.PL +++ b/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'); diff --git a/SOAP-WSDL-2.00_21.ppd b/SOAP-WSDL-2.00_21.ppd deleted file mode 100644 index 2e5cc15..0000000 --- a/SOAP-WSDL-2.00_21.ppd +++ /dev/null @@ -1,15 +0,0 @@ - - - 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 deleted file mode 100644 index e7bdd94..0000000 Binary files a/SOAP-WSDL-2.00_21.zip and /dev/null differ diff --git a/benchmark/01_expat.t b/benchmark/01_expat.t index 5d83397..684cc29 100644 --- a/benchmark/01_expat.t +++ b/benchmark/01_expat.t @@ -1,5 +1,6 @@ #!/usr/bin/perl -w %DB::packages=(SOAP::WSDL::Expat::MessageParser => 1); +%DB::packages=(SOAP::WSDL::Expat::MessageParser => 1); use strict; use warnings; use lib '../lib'; @@ -7,7 +8,7 @@ use lib 'lib'; use lib '../t/lib'; # use SOAP::WSDL::SAX::MessageHandler; -use Benchmark; +use Benchmark qw(cmpthese timethese); use SOAP::WSDL::Expat::MessageParser; use SOAP::WSDL::Expat::Message2Hash; use XML::Simple; @@ -18,8 +19,9 @@ use MySimpleType; my $xml = q{ - - Test + + + Test2 Test2 Test2 @@ -32,22 +34,13 @@ my $xml = q{new(); +$libxml->keep_blanks(0); my @data; -timethese 10000, -{ - 'Hash (SOAP:WSDL)' => sub { push @data, $hash_parser->parse( $xml ) }, - 'XSD (SOAP::WSDL)' => sub { push @data, $parser->parse( $xml ) }, - 'XML::Simple (Hash)' => sub { push @data, XMLin $xml }, -# 'XML::LibXML (DOM)' => sub { push @data, $libxml->parse_string( $xml ) }, + +sub libxml_test { + my $dom = $libxml->parse_string( $xml ); + push @data, dom2hash( $dom->firstChild ); }; -# use Test::More tests => 1; -#is $parser->get_data(), q{} -# . q{TestTest2} -# , 'Content comparison'; +sub dom2hash { + for ($_[0]->childNodes) { + if (exists $_[1]->{ $_->nodeName }) { + if (ref $_[1]->{ $_->nodeName } eq 'ARRAY') { + if ($_->nodeName eq '#text') { + push @{ $_[1] } ,$_->textContent; + } + else { + push @{ $_[1]->{ $_->nodeName } }, dom2hash( $_, {} ); + } + } + else { + if ($_->nodeName eq '#text') { + $_[1] = [ $_[1], $_->textContent() ]; + } + else { + $_[1]->{ $_->nodeName } = [ $_[1]->{ $_->nodeName } , + dom2hash( $_, {} ) ]; + } + } + } + else { + if ($_->nodeName eq '#text') { + $_[1] = $_->textContent(); + } + else { + $_[1]->{ $_->nodeName } = dom2hash( $_, {} ); + } + } + } + return $_[1]; +} -#$parser->class_resolver( 'FakeResolver2' ); +cmpthese 5000, +{ + 'SOAP::WSDL (Hash)' => sub { push @data, $hash_parser->parse( $xml ) }, + 'SOAP::WSDL (XSD)' => sub { push @data, $parser->parse( $xml ) }, + 'XML::Simple (Hash)' => sub { push @data, XMLin $xml }, + 'XML::LibXML (DOM)' => sub { push @data, $libxml->parse_string( $xml ) }, + 'XML::LibXML (Hash)' => \&libxml_test, +}; +# for (1..10000) { push @data, $parser->parse( $xml ) }; + # data classes reside in t/lib/Typelib/ BEGIN { package FakeResolver; { my %class_list = ( 'MyAtomicComplexTypeElement' => 'MyAtomicComplexTypeElement', - 'MyAtomicComplexTypeElement/test' => 'MyTestElement', - 'MyAtomicComplexTypeElement/test2' => 'MyTestElement2', + 'MyAtomicComplexTypeElement/test' => 'MyAtomicComplexTypeElement', + 'MyAtomicComplexTypeElement/test/test2' => 'MyTestElement2', ); sub get_map { return \%class_list }; diff --git a/benchmark/XSD/01_anyType.t b/benchmark/XSD/01_anyType.t index a4ef438..a30ea14 100644 --- a/benchmark/XSD/01_anyType.t +++ b/benchmark/XSD/01_anyType.t @@ -8,14 +8,5 @@ my $obj = SOAP::WSDL::XSD::Typelib::Builtin::anyType->new(); timethese 10000, { 'new' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anyType->new() }, - 'new with params' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anyType->new({ - xmlns => 'urn:Test' - }) }, - 'set_FOO' => sub { $obj->set_xmlns('Test') }, }; -my $data; -timethese 1000000, { - 'set_FOO' => sub { $obj->set_xmlns('Test') }, - 'get_FOO' => sub { $data = $obj->get_xmlns() }, -}; diff --git a/benchmark/XSD/02_anySimpleType.t b/benchmark/XSD/02_anySimpleType.t index 5a1e09c..54bb93a 100644 --- a/benchmark/XSD/02_anySimpleType.t +++ b/benchmark/XSD/02_anySimpleType.t @@ -9,14 +9,13 @@ my $obj = SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new(); timethese 10000, { 'new' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new() }, 'new + params' => sub { SOAP::WSDL::XSD::Typelib::Builtin::anySimpleType->new({ - xmlns => 'urn:Test', value => 'Teststring' }) }, - 'set_FOO' => sub { $obj->set_xmlns('Test') }, + 'set_FOO' => sub { $obj->set_value('Test') }, }; my $data; timethese 1000000, { - 'set_FOO' => sub { $obj->set_xmlns('Test') }, - 'get_FOO' => sub { $data = $obj->get_xmlns() }, + 'set_FOO' => sub { $obj->set_value('Test') }, + 'get_FOO' => sub { $data = $obj->get_value() }, }; diff --git a/benchmark/XSD/03_string.t b/benchmark/XSD/03_string.t index 5bd4e49..0bffeb4 100644 --- a/benchmark/XSD/03_string.t +++ b/benchmark/XSD/03_string.t @@ -6,17 +6,20 @@ use SOAP::WSDL::XSD::Typelib::Builtin::string; my $obj = SOAP::WSDL::XSD::Typelib::Builtin::string->new(); -timethese 10000, { +timethese 20000, { 'new' => sub { SOAP::WSDL::XSD::Typelib::Builtin::string->new() }, 'new + params' => sub { SOAP::WSDL::XSD::Typelib::Builtin::string->new({ - xmlns => 'urn:Test', value => 'Teststring' }) }, - 'set_FOO' => sub { $obj->set_xmlns('Test') }, +}; + +$obj->set_value('Foobar'); +timethese 20000, { + serialize => sub { $obj->serialize() } }; my $data; timethese 1000000, { - 'set_FOO' => sub { $obj->set_xmlns('Test') }, - 'get_FOO' => sub { $data = $obj->get_xmlns() }, + 'set_FOO' => sub { $obj->set_value('Test') }, + 'get_FOO' => sub { $data = $obj->get_value() }, }; diff --git a/benchmark/smallprof.out b/benchmark/smallprof.out index 017928d..cc79781 100644 --- a/benchmark/smallprof.out +++ b/benchmark/smallprof.out @@ -1,324 +1,5 @@ ================ SmallProf version 2.02 ================ - Profile of ../lib/SOAP/WSDL/Expat/MessageParser.pm Page 1 + Profile of -e Page 1 ================================================================= count wall tm cpu time line - 0 0.00000 0.00000 1:#!/usr/bin/perl - 0 0.00000 0.00000 2:package SOAP::WSDL::Expat::MessageParser; - 0 0.00000 0.00000 3:use strict; - 0 0.00000 0.00000 4:use warnings; - 0 0.00000 0.00000 5:use SOAP::WSDL::XSD::Typelib::Builtin; - 0 0.00000 0.00000 6:use XML::Parser::Expat; - 0 0.00000 0.00000 7: - 0 0.00000 0.00000 8:sub new { - 1 0.00000 0.00000 9: my ($class, $args) = @_; - 0 0.00000 0.00000 10: my $self = { - 0 0.00000 0.00000 11: class_resolver => $args->{ - 1 0.00001 0.00000 12: strict => exists $args->{ strict } ? - 0 0.00000 0.00000 13: }; - 1 0.00001 0.00000 14: bless $self, $class; - 1 0.02383 0.02000 15: return $self; - 0 0.00000 0.00000 16:} - 0 0.00000 0.00000 17: - 0 0.00000 0.00000 18:sub class_resolver { - 0 0.00000 0.00000 19: my $self = shift; - 0 0.00000 0.00000 20: $self->{ class_resolver } = shift; - 0 0.00000 0.00000 21: return; - 0 0.00000 0.00000 22:} - 0 0.00000 0.00000 23: - 0 0.00000 0.00000 24:sub _initialize { - 1000 0.00098 0.01000 25: my ($self, $parser) = @_; - 1000 0.04304 0.02000 26: $self->{ parser } = $parser; - 0 0.00000 0.00000 27: - 1000 0.00140 0.01000 28: delete $self->{ data }; - 0 0.00000 0.00000 29: - 1000 0.00042 0.03000 30: my $characters; - 0 0.00000 0.00000 31: #my @characters_from = (); - 1000 0.00059 0.00000 32: my $current = undef; - 1000 0.00093 0.00000 33: my $list = []; # - 1000 0.00065 0.02000 34: my $path = []; # - 1000 0.00064 0.02000 35: my $skip = 0; # - 1000 0.00049 0.01000 36: my $current_part = q{}; # are - 0 0.00000 0.00000 37: - 1000 0.00041 0.00000 38: my $depth = 0; - 0 0.00000 0.00000 39: - 0 0.00000 0.00000 40: my %content_check = $self->{strict} - 0 0.00000 0.00000 41: ? ( - 0 0.00000 0.00000 42: 0 => sub { - 1000 0.00115 0.00000 43: die "Bad top node $_[1]" - 1000 0.01666 0.03000 44: die "Bad namespace for - 0 0.00000 0.00000 45: if $_[0]- - 1000 0.00051 0.02000 46: $depth++; - 1000 0.00413 0.01000 47: return; - 0 0.00000 0.00000 48: }, - 0 0.00000 0.00000 49: 1 => sub { - 1000 0.00050 0.02000 50: $depth++; - 1000 0.03690 0.04000 51: return; - 0 0.00000 0.00000 52: } - 0 0.00000 0.00000 53: ) - 1000 0.01120 0.03000 54: : (); - 0 0.00000 0.00000 55: - 0 0.00000 0.00000 56: my $char_handler = sub { - ================ SmallProf version 2.02 ================ - Profile of ../lib/SOAP/WSDL/Expat/MessageParser.pm Page 2 - ================================================================= - count wall tm cpu time line - 0 0.00000 0.00000 57: # push @characters_from, $_[1] if - 80000 0.19296 1.00000 58: $characters .= $_[1] if $_[1] - 0 0.00000 0.00000 59: - 80000 0.27660 0.97000 60: return; - 1000 0.00449 0.00000 61: }; - 0 0.00000 0.00000 62: - 0 0.00000 0.00000 63: # use "globals" for speed - 1000 0.00162 0.01000 64: my ($_prefix, $_method, - 0 0.00000 0.00000 65: $_class) = (); - 0 0.00000 0.00000 66: - 0 0.00000 0.00000 67: no strict qw(refs); - 0 0.00000 0.00000 68: $parser->setHandlers( - 0 0.00000 0.00000 69: Start => sub { - 0 0.00000 0.00000 70: # my ($parser, $element, %_attrs) - 0 0.00000 0.00000 71: # $depth = $parser->depth(); - 0 0.00000 0.00000 72: - 0 0.00000 0.00000 73: # call methods without using - 0 0.00000 0.00000 74: # That's slightly faster than - 0 0.00000 0.00000 75: # and we don't have to pass $_[1] - 0 0.00000 0.00000 76: # Yup, that's dirty. - 28000 0.03037 0.32000 77: return &{$content_check{ $depth - 0 0.00000 0.00000 78: - 26000 0.02735 0.15000 79: push @{ $path }, $_[1]; # - 26000 0.01366 0.29000 80: return if $skip; # - 0 0.00000 0.00000 81: - 0 0.00000 0.00000 82: # resolve class of this element - 0 0.00000 0.00000 83: $_class = $self->{ class_resolver - 0 0.00000 0.00000 84: or die "Cannot resolve class - 26000 0.28196 0.56000 85: . join('/', @{ $path }) . - 0 0.00000 0.00000 86: - 26000 0.01695 0.35000 87: if ($_class eq '__SKIP__') { - 0 0.00000 0.00000 88: $skip = join('/', @{ $path - 0 0.00000 0.00000 89: $self->setHandlers( Char => - 0 0.00000 0.00000 90: return; - 0 0.00000 0.00000 91: } - 0 0.00000 0.00000 92: - 26000 0.02064 0.35000 93: push @$list, $current; # step - 0 0.00000 0.00000 94: - 26000 0.02021 0.23000 95: $characters = q(); # empty - 0 0.00000 0.00000 96: #@characters_from = (); - 0 0.00000 0.00000 97: - 0 0.00000 0.00000 98: # Check whether we have a builtin - 0 0.00000 0.00000 99: # We could replace this with - 0 0.00000 0.00000 100: # match is a bit faster if the - 0 0.00000 0.00000 101: # if $class matches... - 26000 0.01676 0.21000 102: if (index $_class, - 0 0.00000 0.00000 103: # check wheter there is a - 0 0.00000 0.00000 104: # or a "new" method - 0 0.00000 0.00000 105: # If not, require it - all - 0 0.00000 0.00000 106: # define new() - 0 0.00000 0.00000 107: # This is not exactly the - 0 0.00000 0.00000 108: defined *{ "$_class\::new" }{ - 26000 0.07804 0.33000 109: or scalar @{ *{ - 0 0.00000 0.00000 110: or eval "require $_class" - 0 0.00000 0.00000 111: or die $@; - 0 0.00000 0.00000 112: } - ================ SmallProf version 2.02 ================ - Profile of ../lib/SOAP/WSDL/Expat/MessageParser.pm Page 3 - ================================================================= - count wall tm cpu time line - 0 0.00000 0.00000 113: - 26000 0.45038 0.81000 114: $current = $_class->new({ - 0 0.00000 0.00000 115: - 0 0.00000 0.00000 116: # remember top level element - 0 0.00000 0.00000 117: exists $self->{ data } - 26000 0.02113 0.22000 118: or ($self->{ data } = - 26000 0.01267 0.25000 119: $depth++; - 26000 0.07978 0.40000 120: return; - 0 0.00000 0.00000 121: }, - 0 0.00000 0.00000 122: - 0 0.00000 0.00000 123: Char => $char_handler, - 0 0.00000 0.00000 124: - 0 0.00000 0.00000 125: End => sub { - 0 0.00000 0.00000 126: - 28000 0.01974 0.26000 127: pop @{ $path }; - 0 0.00000 0.00000 128: - 28000 0.01197 0.18000 129: if ($skip) { - 0 0.00000 0.00000 130: return if $skip ne join '/', - 0 0.00000 0.00000 131: $skip = 0; - 0 0.00000 0.00000 132: $_[0]->setHandler( Char => - 0 0.00000 0.00000 133: return; - 0 0.00000 0.00000 134: } - 0 0.00000 0.00000 135: - 28000 0.01687 0.25000 136: $depth--; - 0 0.00000 0.00000 137: - 0 0.00000 0.00000 138: # This one easily handles ignores - 28000 0.10769 0.33000 139: return if not ref $list->[-1]; - 0 0.00000 0.00000 140: - 0 0.00000 0.00000 141: # set characters in current if we - 0 0.00000 0.00000 142: # we may have characters in - 0 0.00000 0.00000 143: # too - maybe we should rely on - 0 0.00000 0.00000 144: # may get a speedup by defining a - 0 0.00000 0.00000 145: # and looking it up via exists - 0 0.00000 0.00000 146:# if ( $current- - 0 0.00000 0.00000 147:# $current->set_value( - 0 0.00000 0.00000 148:# } - 0 0.00000 0.00000 149: # currently doesn't work, as - 0 0.00000 0.00000 150: # maybe change ? - 25000 0.21156 0.56000 151: $current->set_value( $characters - 0 0.00000 0.00000 152: #$current->set_value( join - 25000 0.08260 0.32000 153: $characters = q{}; - 0 0.00000 0.00000 154:# undef @characters_from; - 0 0.00000 0.00000 155: # set appropriate attribute in - 0 0.00000 0.00000 156: # multiple values must be - 0 0.00000 0.00000 157: #$_method = "add_$_localname"; - 25000 0.01494 0.21000 158: $_method = "add_$_[1]"; - 25000 0.55155 0.86000 159: $list->[-1]->$_method( $current - 0 0.00000 0.00000 160: - 25000 0.02121 0.14000 161: $current = pop @$list; - 25000 0.07002 0.34000 162: return; - 0 0.00000 0.00000 163: } - 1000 0.12135 0.08000 164: ); - 1000 0.13602 0.11000 165: return $parser; - 0 0.00000 0.00000 166:} - 0 0.00000 0.00000 167: - 0 0.00000 0.00000 168:sub parse { - ================ SmallProf version 2.02 ================ - Profile of ../lib/SOAP/WSDL/Expat/MessageParser.pm Page 4 - ================================================================= - count wall tm cpu time line - 1000 0.00055 0.03000 169: eval { - 1000 0.07420 0.07000 170: $_[0]->_initialize( - 0 0.00000 0.00000 171: XML::Parser::Expat->new( - 0 0.00000 0.00000 172: Namespaces => 1 - 0 0.00000 0.00000 173: ) - 0 0.00000 0.00000 174: )->parse( $_[1] ); - 1000 0.01030 0.02000 175: $_[0]->{ parser }->release(); - 0 0.00000 0.00000 176: }; - 1000 0.00034 0.00000 177: die $@ if $@; - 1000 2.73620 2.67000 178: return $_[0]->{ data }; - 0 0.00000 0.00000 179:} - 0 0.00000 0.00000 180: - 0 0.00000 0.00000 181:sub parsefile { - 0 0.00000 0.00000 182: eval { - 0 0.00000 0.00000 183: $_[0]->_initialize( - 0 0.00000 0.00000 184: $_[0]->{ parser }->release(); - 0 0.00000 0.00000 185: }; - 0 0.00000 0.00000 186: die $@, $_[1] if $@; - 0 0.00000 0.00000 187: return $_[0]->{ data }; - 0 0.00000 0.00000 188:} - 0 0.00000 0.00000 189: - 0 0.00000 0.00000 190:# SAX-like aliases - 0 0.00000 0.00000 191:sub parse_string; - 0 0.00000 0.00000 192:*parse_string = \&parse; - 0 0.00000 0.00000 193: - 0 0.00000 0.00000 194:sub parse_file; - 0 0.00000 0.00000 195:*parse_file = \&parsefile; - 0 0.00000 0.00000 196: - 0 0.00000 0.00000 197:sub get_data { - 0 0.00000 0.00000 198: return $_[0]->{ data }; - 0 0.00000 0.00000 199:} - 0 0.00000 0.00000 200: - 0 0.00000 0.00000 201:1; - 0 0.00000 0.00000 202: - 0 0.00000 0.00000 203:=pod - ================ SmallProf version 2.02 ================ - Profile of 01_expat.t Page 5 - ================================================================= - count wall tm cpu time line - 0 0.00000 0.00000 1:#!/usr/bin/perl -w - 1 0.00003 0.00000 2:%DB::packages=(SOAP::WSDL::Expat::MessagePars - 0 0.00000 0.00000 3:use strict; - 0 0.00000 0.00000 4:use warnings; - 0 0.00000 0.00000 5:use lib '../lib'; - 0 0.00000 0.00000 6:use lib 'lib'; - 0 0.00000 0.00000 7:use lib '../t/lib'; - 0 0.00000 0.00000 8:use SOAP::WSDL::SAX::MessageHandler; - 0 0.00000 0.00000 9: - 0 0.00000 0.00000 10:use Benchmark; - 0 0.00000 0.00000 11:use SOAP::WSDL::Expat::MessageParser; - 0 0.00000 0.00000 12:use SOAP::WSDL::Expat::Message2Hash; - 0 0.00000 0.00000 13:use XML::Simple; - 0 0.00000 0.00000 14:use XML::LibXML; - 0 0.00000 0.00000 15:use MyComplexType; - 0 0.00000 0.00000 16:use MyElement; - 0 0.00000 0.00000 17:use MySimpleType; - 0 0.00000 0.00000 18: - 0 0.00000 0.00000 19:my $xml = q{Test - 0 0.00000 0.00000 23: Test2 - 0 0.00000 0.00000 24: Test2 - 0 0.00000 0.00000 25: Test2 - 0 0.00000 0.00000 26: Test2 - 0 0.00000 0.00000 27: Test2 - 0 0.00000 0.00000 28: Test2 - 0 0.00000 0.00000 29: Test2 - 0 0.00000 0.00000 30: Test2 - 0 0.00000 0.00000 31: Test2 - 0 0.00000 0.00000 32: Test2 - 0 0.00000 0.00000 33: Test2 - 0 0.00000 0.00000 34: Test2 - 0 0.00000 0.00000 35: Test2 - 0 0.00000 0.00000 36: Test - 0 0.00000 0.00000 37: Test - 0 0.00000 0.00000 38: Test - 0 0.00000 0.00000 39: Test - 0 0.00000 0.00000 40: Test - 0 0.00000 0.00000 41: Test - 0 0.00000 0.00000 42: Test - 0 0.00000 0.00000 43: Test - 0 0.00000 0.00000 44: Test - 0 0.00000 0.00000 45: Test - 0 0.00000 0.00000 46: Test - 0 0.00000 0.00000 47: - 0 0.00000 0.00000 48:}; - 0 0.00000 0.00000 49: - 0 0.00000 0.00000 50: - 0 0.00000 0.00000 51:my $parser = - 0 0.00000 0.00000 52: class_resolver => 'FakeResolver' - 0 0.00000 0.00000 53:}); - 0 0.00000 0.00000 54: - 0 0.00000 0.00000 55:my $hash_parser = - 0 0.00000 0.00000 56: - ================ SmallProf version 2.02 ================ - Profile of 01_expat.t Page 6 - ================================================================= - count wall tm cpu time line - 0 0.00000 0.00000 57:$XML::Simple::PREFERRED_PARSER = - 0 0.00000 0.00000 58: - 0 0.00000 0.00000 59:my $libxml = XML::LibXML->new(); - 0 0.00000 0.00000 60:my @data; - 0 0.00000 0.00000 61:timethese 1000, - 0 0.00000 0.00000 62:{ - 0 0.00000 0.00000 63: # 'Hash (SOAP:WSDL)' => sub { push @data, - 0 0.00000 0.00000 64: 'SOAP::WSDL' => sub { push @data, $parser- - 0 0.00000 0.00000 65:# 'XML::Simple (Hash)' => sub { push @data, - 0 0.00000 0.00000 66:# 'XML::LibXML (DOM)' => sub { push @data, - 0 0.00000 0.00000 67:}; - 0 0.00000 0.00000 68: - 0 0.00000 0.00000 69:# use Test::More tests => 1; - 0 0.00000 0.00000 70:#is $parser->get_data(), - 0 0.00000 0.00000 71:# . q{Testclass_resolver( 'FakeResolver2' ); - 0 0.00000 0.00000 75: - 0 0.00000 0.00000 76: - 0 0.00000 0.00000 77:# data classes reside in t/lib/Typelib/ - 0 0.00000 0.00000 78:BEGIN { - 0 0.00000 0.00000 79: package FakeResolver; - 0 0.00000 0.00000 80: { - 0 0.00000 0.00000 81: my %class_list = ( - 0 0.00000 0.00000 82: 'MyAtomicComplexTypeElement' => - 0 0.00000 0.00000 83: 'MyAtomicComplexTypeElement/test' - 0 0.00000 0.00000 84: - 0 0.00000 0.00000 85: ); - 0 0.00000 0.00000 86: - 0 0.00000 0.00000 87: sub get_map { return \%class_list }; - 0 0.00000 0.00000 88: - 0 0.00000 0.00000 89: sub new { return bless {}, - 0 0.00000 0.00000 90: - 0 0.00000 0.00000 91: sub get_class { - 0 0.00000 0.00000 92: my $name = join('/', @{ $_[1] }); - 0 0.00000 0.00000 93: return ($class_list{ $name }) ? - 0 0.00000 0.00000 94: : warn "no class found for - 0 0.00000 0.00000 95: }; - 0 0.00000 0.00000 96: }; - 0 0.00000 0.00000 97:}; + 1 0.00004 0.00000 1:print 1 diff --git a/lib/SOAP/WSDL.pm b/lib/SOAP/WSDL.pm index f19ae98..00eb787 100644 --- a/lib/SOAP/WSDL.pm +++ b/lib/SOAP/WSDL.pm @@ -739,7 +739,7 @@ Martin Kutter Emartin.kutter fen-net.deE $Rev: 332 $ $LastChangedBy: 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 $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $ =cut diff --git a/lib/SOAP/WSDL/Client.pm b/lib/SOAP/WSDL/Client.pm index dd600a7..bdff3ea 100644 --- a/lib/SOAP/WSDL/Client.pm +++ b/lib/SOAP/WSDL/Client.pm @@ -368,7 +368,7 @@ Martin Kutter Emartin.kutter fen-net.deE $Rev: 303 $ $LastChangedBy: kutterma $ $Id: Client.pm 303 2007-10-01 18:51:50Z kutterma $ - $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $ =cut diff --git a/lib/SOAP/WSDL/Client/Base.pm b/lib/SOAP/WSDL/Client/Base.pm index 4e460a4..07cac20 100644 --- a/lib/SOAP/WSDL/Client/Base.pm +++ b/lib/SOAP/WSDL/Client/Base.pm @@ -120,6 +120,6 @@ Martin Kutter Emartin.kutter fen-net.deE $Rev: 323 $ $LastChangedBy: kutterma $ $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 $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client/Base.pm $ =cut diff --git a/lib/SOAP/WSDL/Expat/MessageParser.pm b/lib/SOAP/WSDL/Expat/MessageParser.pm index b677e25..ba55b2f 100644 --- a/lib/SOAP/WSDL/Expat/MessageParser.pm +++ b/lib/SOAP/WSDL/Expat/MessageParser.pm @@ -234,9 +234,9 @@ This module may be used under the same terms as perl itself. $ID: $ - $LastChangedDate: 2007-10-07 19:27:58 +0200 (So, 07 Okt 2007) $ + $LastChangedDate: 2007-10-07 19:27:58 +0200 (Son, 07 Okt 2007) $ $LastChangedRevision: 313 $ $LastChangedBy: kutterma $ - $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $ diff --git a/lib/SOAP/WSDL/Expat/MessageStreamParser.pm b/lib/SOAP/WSDL/Expat/MessageStreamParser.pm index ca50c63..5fbddae 100644 --- a/lib/SOAP/WSDL/Expat/MessageStreamParser.pm +++ b/lib/SOAP/WSDL/Expat/MessageStreamParser.pm @@ -68,9 +68,9 @@ This module may be used under the same terms as perl itself. $ID: $ - $LastChangedDate: 2007-10-07 19:27:58 +0200 (So, 07 Okt 2007) $ + $LastChangedDate: 2007-10-07 19:27:58 +0200 (Son, 07 Okt 2007) $ $LastChangedRevision: 313 $ $LastChangedBy: kutterma $ - $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageStreamParser.pm $ diff --git a/lib/SOAP/WSDL/Factory/Serializer.pm b/lib/SOAP/WSDL/Factory/Serializer.pm index 8a49527..e16a815 100644 --- a/lib/SOAP/WSDL/Factory/Serializer.pm +++ b/lib/SOAP/WSDL/Factory/Serializer.pm @@ -141,6 +141,6 @@ Martin Kutter Emartin.kutter fen-net.deE $Rev: 329 $ $LastChangedBy: 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 $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Serializer.pm $ =cut diff --git a/lib/SOAP/WSDL/Factory/Transport.pm b/lib/SOAP/WSDL/Factory/Transport.pm index d3e4682..78ecf58 100644 --- a/lib/SOAP/WSDL/Factory/Transport.pm +++ b/lib/SOAP/WSDL/Factory/Transport.pm @@ -239,6 +239,6 @@ Martin Kutter Emartin.kutter fen-net.deE $Rev: 304 $ $LastChangedBy: kutterma $ $Id: Transport.pm 304 2007-10-02 20:07:21Z kutterma $ - $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Factory/Transport.pm $ =cut diff --git a/lib/SOAP/WSDL/Transport/HTTP.pm b/lib/SOAP/WSDL/Transport/HTTP.pm index 5ae04ea..486e830 100644 --- a/lib/SOAP/WSDL/Transport/HTTP.pm +++ b/lib/SOAP/WSDL/Transport/HTTP.pm @@ -90,7 +90,7 @@ Martin Kutter Emartin.kutter fen-net.deE $Rev: 288 $ $LastChangedBy: kutterma $ $Id: HTTP.pm 288 2007-09-29 19:34:20Z kutterma $ - $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $ + $HeadURL: http://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $ =cut diff --git a/lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm b/lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm index 17ff590..8aa289f 100644 --- a/lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm +++ b/lib/SOAP/WSDL/XSD/Typelib/Builtin/string.pm @@ -35,8 +35,8 @@ sub serialize { my ($self, $opt) = @_; my $ident = ident $self; $opt ||= {}; - my $value = $self->get_value(); - return $self->start_tag({ %$opt, nil => 1}) + my $value = $self->get_value();; + return $self->start_tag({ %{ $opt }, nil => 1}) if not defined $value; # HTML::Entities does the same - and more, thus it's around 1/3 slower... diff --git a/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm b/lib/SOAP/WSDL/XSD/Typelib/ComplexType.pm index 0710072..51b934b 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_22'; +our $VERSION = '2.00_23'; my %ELEMENTS_FROM; my %ATTRIBUTES_OF; @@ -98,11 +98,11 @@ sub _factory { *{ "$class\::set_$name" } = sub { my $is_ref = ref $_[1]; $attribute_ref->{ ident $_[0] } = ($is_ref) - ? $is_ref eq 'ARRAY' + ? ($is_ref eq 'ARRAY') ? $is_list # remembered from outside closure - ? $type->new({ value => $_[1] }) # list element - can take list ref as value - : [ map { - ref $_ + ? $type->new({ value => $_[1] }) # it's a list element - can take list ref as value + : [ map { # it's not a list element - set value to list of objects + ref $_ ? ref $_ eq 'HASH' ? $type->new($_) : ref $_ eq $type @@ -113,9 +113,13 @@ sub _factory { ] : $is_ref eq 'HASH' ? $type->new( $_[1] ) - : $is_ref eq $type - ? $_[1] + + # neither ARRAY nor HASH - probably an object... + : ($is_ref eq $type) # of required type ? ->isa would be a better test... + ? $_[1] # use it : die croak "cannot use $is_ref reference as value for $name - $type required" + + # not $is_ref : $type->new({ value => $_[1] }); return; }; @@ -126,14 +130,15 @@ sub _factory { if not defined $_[1]; # first call - if (not defined $attribute_ref->{ $ident }) { + # test for existance, not for definedness + if (not exists $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 } ]; + # second call: listify previous value if it's no list and add current + $attribute_ref->{ $ident } = [ $attribute_ref->{ $ident }, $_[1] ]; return; } @@ -142,6 +147,8 @@ sub _factory { return; }; + # TODO: remove this alias - we don't use it, and it's pretty much + # misleading... *{ "$class\::$name" } = *{ "$class\::add_$name" }; } @@ -381,10 +388,10 @@ Martin Kutter Emartin.kutter fen-net.deE =head1 REPOSITORY INFORMATION - $Rev: 337 $ + $Rev: 346 $ $LastChangedBy: 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 $ + $Id: ComplexType.pm 346 2007-11-05 21:38:56Z kutterma $ + $HeadURL: http://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 6b2f566..bf0b511 100644 --- a/lib/SOAP/WSDL/XSD/Typelib/Element.pm +++ b/lib/SOAP/WSDL/XSD/Typelib/Element.pm @@ -2,6 +2,8 @@ package SOAP::WSDL::XSD::Typelib::Element; use strict; +our $VERSION = '2.00_23'; + my %NAME; my %NILLABLE; my %REF; @@ -43,7 +45,7 @@ sub start_tag { my @attr_from = (); if ($_[1]->{ nil }) { - return q{} if not $NILLABLE{ ref $_[1] }; + return q{} if not $NILLABLE{ ref $_[0] }; push @attr_from, 'xsi:nil="true"'; $ending = '/>'; } diff --git a/t/SOAP/WSDL/Deserializer/SOM.t b/t/SOAP/WSDL/Deserializer/SOM.t index 00685cd..cfefed7 100644 --- a/t/SOAP/WSDL/Deserializer/SOM.t +++ b/t/SOAP/WSDL/Deserializer/SOM.t @@ -1,6 +1,6 @@ use Test::More; use SOAP::Lite; -eval { require SOAP::Lite } or do { +eval { require SOAP::Lite; 1; } or do { plan skip_all => 'SOAP::Lite not available'; exit 0; }; diff --git a/t/SOAP/WSDL/Generator/XSD.t b/t/SOAP/WSDL/Generator/XSD.t index 6a9f4d8..453ae08 100644 --- a/t/SOAP/WSDL/Generator/XSD.t +++ b/t/SOAP/WSDL/Generator/XSD.t @@ -1,4 +1,4 @@ -use Test::More tests => 30; +use Test::More tests => 34; use File::Basename qw(dirname); use File::Spec; use File::Path; @@ -118,4 +118,15 @@ is $complexExtension->get_Test2(), 'test2'; is $complexExtension->get_Test3(), 'test3'; +ok eval { require MyTypes::testComplexTypeElementAtomicSimpleType; }; +my $ct_east = MyTypes::testComplexTypeElementAtomicSimpleType->new({ + testString => 'Just some test', + testAtomicSimpleTypeElement => 42, +}); + +is $ct_east->get_testAtomicSimpleTypeElement, 42; +is $ct_east->get_testAtomicSimpleTypeElement->get_value(), 42; +isa_ok($ct_east->get_testAtomicSimpleTypeElement, + 'MyTypes::testComplexTypeElementAtomicSimpleType::_testAtomicSimpleTypeElement'); + rmtree "$path/testlib"; diff --git a/t/acceptance/wsdl/generator_test.wsdl b/t/acceptance/wsdl/generator_test.wsdl index e876701..a7a5925 100644 --- a/t/acceptance/wsdl/generator_test.wsdl +++ b/t/acceptance/wsdl/generator_test.wsdl @@ -170,6 +170,22 @@ + + + + + + + + + + + + + + + +