Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fd0854e34a |
2
Build.PL
2
Build.PL
@@ -4,7 +4,7 @@ Module::Build->new(
|
||||
create_makefile_pl => 'passthrough',
|
||||
dist_abstract => 'SOAP with WSDL support',
|
||||
dist_name => 'SOAP-WSDL',
|
||||
dist_version => '2.00_11',
|
||||
dist_version => '2.00_12',
|
||||
module_name => 'SOAP::WSDL',
|
||||
license => 'artistic',
|
||||
requires => {
|
||||
|
||||
900
CHANGES
900
CHANGES
@@ -1,778 +1,122 @@
|
||||
------------------------------------------------------------------------
|
||||
r176 | kutterma | 2007-08-31 17:28:29 +0200 (Fr, 31 Aug 2007) | 2 lines
|
||||
|
||||
- set SVN keywords
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r175 | kutterma | 2007-08-31 17:05:42 +0200 (Fr, 31 Aug 2007) | 6 lines
|
||||
|
||||
- modified SOAP::WSDL::Client to allow passing the SOAPAction header to call()
|
||||
- modified SOAP::WSDL::Definitions's generator to emit interfaces which include
|
||||
soap_action and style information for every operation
|
||||
- re-generated GetWeather example interface
|
||||
- fixed wsdl2perl.pl (typo)
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r174 | kutterma | 2007-08-31 15:49:04 +0200 (Fr, 31 Aug 2007) | 2 lines
|
||||
|
||||
- SOAPAction header is now always quoted.
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r173 | kutterma | 2007-08-31 15:48:10 +0200 (Fr, 31 Aug 2007) | 1 line
|
||||
|
||||
- added WS-I basic profile compliance docs. Looks like we're far from being compliant...
|
||||
------------------------------------------------------------------------
|
||||
r172 | kutterma | 2007-08-30 22:58:41 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- updated TODO list
|
||||
------------------------------------------------------------------------
|
||||
r170 | kutterma | 2007-08-30 22:32:56 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- added RELEASE_NOTES
|
||||
------------------------------------------------------------------------
|
||||
r169 | kutterma | 2007-08-30 21:33:50 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- fixed SOAP11 serializer package name
|
||||
------------------------------------------------------------------------
|
||||
r168 | kutterma | 2007-08-30 21:32:39 +0200 (Do, 30 Aug 2007) | 4 lines
|
||||
|
||||
- added Serializer factory
|
||||
- modified client to use serializer
|
||||
- moved old SOAP::WSDL::Envelope into Serializer namespace
|
||||
- moved Tranport factory into Factory namespace
|
||||
------------------------------------------------------------------------
|
||||
r167 | kutterma | 2007-08-30 21:30:17 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- fixed Envelope to comply to new serializer scheme
|
||||
------------------------------------------------------------------------
|
||||
r166 | kutterma | 2007-08-30 18:44:48 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- re-fixed Transport factory
|
||||
------------------------------------------------------------------------
|
||||
r165 | kutterma | 2007-08-30 18:43:36 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- added HTTP Transport class (really)
|
||||
------------------------------------------------------------------------
|
||||
r164 | kutterma | 2007-08-30 14:38:47 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- first try at serializer factory.
|
||||
------------------------------------------------------------------------
|
||||
r163 | kutterma | 2007-08-30 10:34:00 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- updated docs (reference to homepage and forum)
|
||||
------------------------------------------------------------------------
|
||||
r162 | kutterma | 2007-08-30 10:29:49 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r161 | kutterma | 2007-08-30 10:17:28 +0200 (Do, 30 Aug 2007) | 2 lines
|
||||
|
||||
- modified client to use SOAP::WSDL::Transport factory
|
||||
- fixed SOAP::WSDL::Transport factory
|
||||
------------------------------------------------------------------------
|
||||
r160 | kutterma | 2007-08-30 00:20:09 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- added weird SOAP::Lite nameing scheme to registered && SOAP::Lite Transport instantiations
|
||||
------------------------------------------------------------------------
|
||||
r159 | kutterma | 2007-08-30 00:00:15 +0200 (Do, 30 Aug 2007) | 1 line
|
||||
|
||||
- first try at Transport factory and Transport::HTTP implementation class.
|
||||
------------------------------------------------------------------------
|
||||
r158 | kutterma | 2007-08-29 22:36:34 +0200 (Mi, 29 Aug 2007) | 1 line
|
||||
|
||||
- updated TODO list
|
||||
------------------------------------------------------------------------
|
||||
r153 | kutterma | 2007-08-29 11:24:40 +0200 (Mi, 29 Aug 2007) | 4 lines
|
||||
|
||||
- removed XML::LibXML dependencies (is now required, not used in test scripts)
|
||||
- fixed WSDLParser to switch on expat namespace support when parsing files
|
||||
- added expat based tests ported from XML::LibXML based WSDL parser tests
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r152 | kutterma | 2007-08-28 23:28:06 +0200 (Di, 28 Aug 2007) | 3 lines
|
||||
|
||||
- updated Build.PL
|
||||
- updated CHANGES
|
||||
- updated MANIFEST
|
||||
------------------------------------------------------------------------
|
||||
r151 | kutterma | 2007-08-28 23:07:14 +0200 (Di, 28 Aug 2007) | 1 line
|
||||
|
||||
- fixed namespace test
|
||||
------------------------------------------------------------------------
|
||||
r150 | kutterma | 2007-08-28 23:06:00 +0200 (Di, 28 Aug 2007) | 1 line
|
||||
|
||||
- renamed tests to better meet their content
|
||||
------------------------------------------------------------------------
|
||||
r149 | kutterma | 2007-08-28 23:03:30 +0200 (Di, 28 Aug 2007) | 1 line
|
||||
|
||||
- cleanup
|
||||
------------------------------------------------------------------------
|
||||
r148 | kutterma | 2007-08-28 23:02:01 +0200 (Di, 28 Aug 2007) | 2 lines
|
||||
|
||||
- added namespace test
|
||||
- removed SAX handler from usage test
|
||||
------------------------------------------------------------------------
|
||||
r147 | kutterma | 2007-08-28 22:57:48 +0200 (Di, 28 Aug 2007) | 1 line
|
||||
|
||||
- added namespace support
|
||||
------------------------------------------------------------------------
|
||||
r146 | kutterma | 2007-08-28 21:56:35 +0200 (Di, 28 Aug 2007) | 1 line
|
||||
|
||||
- removed POD directive from template, so the CPAN indexer won't show it...
|
||||
------------------------------------------------------------------------
|
||||
r145 | kutterma | 2007-08-28 16:35:18 +0200 (Di, 28 Aug 2007) | 5 lines
|
||||
|
||||
- XML::SAX::Base and XML::SAX::ParserFactory and Pod::Simple::Text dependencies to ease testing
|
||||
- removed unneccessary performance test
|
||||
- Added Expat-based WSDL parser and test to get rid of XML::LibXML dependency some day...
|
||||
- needs further work: namespaces are not processed correctly, yet
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r144 | kutterma | 2007-08-14 11:05:40 +0200 (Di, 14 Aug 2007) | 1 line
|
||||
|
||||
- added missing prerequisite 'Template' to Build.PL
|
||||
------------------------------------------------------------------------
|
||||
r143 | kutterma | 2007-08-13 20:43:20 +0200 (Mo, 13 Aug 2007) | 3 lines
|
||||
|
||||
- fixed POD (#1772710)
|
||||
- fixed Makefile.PL - now try the passthrough variant first. If too many CPAN testers still fail, we may switch to traditional, some day...
|
||||
- prepared 2.00_10 pre-release
|
||||
------------------------------------------------------------------------
|
||||
r142 | kutterma | 2007-08-13 15:55:45 +0200 (Mo, 13 Aug 2007) | 1 line
|
||||
|
||||
typo
|
||||
------------------------------------------------------------------------
|
||||
r141 | kutterma | 2007-08-12 21:45:51 +0200 (So, 12 Aug 2007) | 2 lines
|
||||
|
||||
- corrected POD error
|
||||
- little speedup in add_FOO methods
|
||||
------------------------------------------------------------------------
|
||||
r140 | kutterma | 2007-08-12 21:27:58 +0200 (So, 12 Aug 2007) | 1 line
|
||||
|
||||
- corrected POD error
|
||||
------------------------------------------------------------------------
|
||||
r139 | kutterma | 2007-08-12 21:15:59 +0200 (So, 12 Aug 2007) | 1 line
|
||||
|
||||
- adder repository information
|
||||
------------------------------------------------------------------------
|
||||
r138 | kutterma | 2007-08-12 21:13:08 +0200 (So, 12 Aug 2007) | 1 line
|
||||
|
||||
- typo
|
||||
------------------------------------------------------------------------
|
||||
r137 | kutterma | 2007-08-12 21:12:20 +0200 (So, 12 Aug 2007) | 3 lines
|
||||
|
||||
- updated docs
|
||||
- added svn information
|
||||
- cosmetics
|
||||
------------------------------------------------------------------------
|
||||
r136 | kutterma | 2007-08-12 15:11:50 +0200 (So, 12 Aug 2007) | 2 lines
|
||||
|
||||
- fixed element ref="" top level- elements in code generator
|
||||
- prepared 2.00_09 pre-release
|
||||
------------------------------------------------------------------------
|
||||
r135 | kutterma | 2007-08-12 14:44:06 +0200 (So, 12 Aug 2007) | 1 line
|
||||
|
||||
- prepared 2.00_09 pre-release
|
||||
------------------------------------------------------------------------
|
||||
r134 | kutterma | 2007-08-12 14:30:33 +0200 (So, 12 Aug 2007) | 2 lines
|
||||
|
||||
- updated README
|
||||
- bumped up version
|
||||
------------------------------------------------------------------------
|
||||
r133 | kutterma | 2007-08-12 14:27:17 +0200 (So, 12 Aug 2007) | 1 line
|
||||
|
||||
- fixed Build.PL to leave Makefile.PL untouched.
|
||||
------------------------------------------------------------------------
|
||||
r132 | kutterma | 2007-08-12 14:21:24 +0200 (So, 12 Aug 2007) | 1 line
|
||||
|
||||
- now really added Makefile.PL
|
||||
------------------------------------------------------------------------
|
||||
r131 | kutterma | 2007-08-12 14:18:59 +0200 (So, 12 Aug 2007) | 3 lines
|
||||
|
||||
- fixed documentation for generated code with element ref="" declarations
|
||||
- fixed element ref="" test for generated code
|
||||
- added (generated) Makefile.PL to make CPAN testers happy
|
||||
------------------------------------------------------------------------
|
||||
r130 | kutterma | 2007-08-10 15:57:12 +0200 (Fr, 10 Aug 2007) | 1 line
|
||||
|
||||
- first try at truely callback-based parser (inspired by XML::Compile)
|
||||
------------------------------------------------------------------------
|
||||
r129 | kutterma | 2007-08-07 17:53:40 +0200 (Di, 07 Aug 2007) | 1 line
|
||||
|
||||
- moved duplicate sub generation out of loop
|
||||
------------------------------------------------------------------------
|
||||
r128 | kutterma | 2007-08-07 14:16:28 +0200 (Di, 07 Aug 2007) | 1 line
|
||||
|
||||
- bool now returns numerical value in bool context, not "true" or "false" (always true...)
|
||||
------------------------------------------------------------------------
|
||||
r127 | kutterma | 2007-08-07 11:45:23 +0200 (Di, 07 Aug 2007) | 1 line
|
||||
|
||||
- fixed test to be timezone sensitive
|
||||
------------------------------------------------------------------------
|
||||
r126 | kutterma | 2007-08-07 11:09:51 +0200 (Di, 07 Aug 2007) | 1 line
|
||||
|
||||
- made test timezone-sensitive
|
||||
------------------------------------------------------------------------
|
||||
r125 | kutterma | 2007-08-07 11:09:16 +0200 (Di, 07 Aug 2007) | 1 line
|
||||
|
||||
- made test timezone-sensitive
|
||||
------------------------------------------------------------------------
|
||||
r124 | kutterma | 2007-08-06 18:05:02 +0200 (Mo, 06 Aug 2007) | 2 lines
|
||||
|
||||
- fixed element ref handling in code generator in ComplexType.
|
||||
- top-level element ref still not supported/tested
|
||||
------------------------------------------------------------------------
|
||||
r123 | kutterma | 2007-08-06 17:48:57 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- test now dies and outputs code to eval on eval errors
|
||||
------------------------------------------------------------------------
|
||||
r122 | kutterma | 2007-08-06 17:29:46 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- fixed element ref="" handling in complexType
|
||||
------------------------------------------------------------------------
|
||||
r121 | kutterma | 2007-08-06 17:29:14 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- added test data for element ref inside complexType
|
||||
------------------------------------------------------------------------
|
||||
r120 | kutterma | 2007-08-06 17:28:54 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- added test for element ref inside complexType
|
||||
------------------------------------------------------------------------
|
||||
r119 | kutterma | 2007-08-06 17:13:03 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- fixed element ref handling
|
||||
------------------------------------------------------------------------
|
||||
r118 | kutterma | 2007-08-06 17:12:47 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- added element ref test data
|
||||
------------------------------------------------------------------------
|
||||
r117 | kutterma | 2007-08-06 17:12:36 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- added element ref test
|
||||
------------------------------------------------------------------------
|
||||
r116 | kutterma | 2007-08-06 15:47:30 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- refined docs
|
||||
------------------------------------------------------------------------
|
||||
r115 | kutterma | 2007-08-06 15:39:39 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- updated docs. Hope the CPAN indexer ignores "=for developers"...
|
||||
------------------------------------------------------------------------
|
||||
r114 | kutterma | 2007-08-06 14:12:28 +0200 (Mo, 06 Aug 2007) | 1 line
|
||||
|
||||
- removed annoying pod
|
||||
------------------------------------------------------------------------
|
||||
r113 | kutterma | 2007-08-05 18:42:09 +0200 (So, 05 Aug 2007) | 5 lines
|
||||
|
||||
- removed SOAP::Lite dependency
|
||||
- updated docs
|
||||
- changed SOAP::WSDL::XSD::Typelib::ComplexType to require the actuall class for element data, not just the base class (good for finding errors earlier)
|
||||
- implemented returning SOAP::SOM objects in SOAP::WSDL
|
||||
- added SOAP::WSDL example(weather_wsdl.pl)
|
||||
------------------------------------------------------------------------
|
||||
r112 | kutterma | 2007-08-03 16:12:57 +0200 (Fr, 03 Aug 2007) | 1 line
|
||||
|
||||
updated docs
|
||||
------------------------------------------------------------------------
|
||||
r111 | kutterma | 2007-08-03 16:12:04 +0200 (Fr, 03 Aug 2007) | 1 line
|
||||
|
||||
- added "skip"
|
||||
------------------------------------------------------------------------
|
||||
r110 | kutterma | 2007-07-31 22:27:25 +0200 (Di, 31 Jul 2007) | 2 lines
|
||||
|
||||
- further work on removing SOAP::Lite dependency
|
||||
- Note: SOAP::WSDL may be broken !
|
||||
------------------------------------------------------------------------
|
||||
r109 | kutterma | 2007-07-31 21:10:40 +0200 (Di, 31 Jul 2007) | 3 lines
|
||||
|
||||
- finished move from XSD::Primitive to Builtin
|
||||
- fixed a few tests
|
||||
- removed typo namespace from TypeLookupt
|
||||
------------------------------------------------------------------------
|
||||
r108 | kutterma | 2007-07-31 21:02:43 +0200 (Di, 31 Jul 2007) | 1 line
|
||||
|
||||
- removed unneeded example stuff
|
||||
------------------------------------------------------------------------
|
||||
r107 | kutterma | 2007-07-31 20:32:43 +0200 (Di, 31 Jul 2007) | 1 line
|
||||
|
||||
- rename to Builtin
|
||||
------------------------------------------------------------------------
|
||||
r106 | kutterma | 2007-07-31 20:32:11 +0200 (Di, 31 Jul 2007) | 1 line
|
||||
|
||||
- prepared rename to Builtin
|
||||
------------------------------------------------------------------------
|
||||
r105 | kutterma | 2007-07-31 13:17:52 +0200 (Di, 31 Jul 2007) | 2 lines
|
||||
|
||||
- added configurable ContentType / charset
|
||||
- maybe split up charset and content type into two methods ?
|
||||
------------------------------------------------------------------------
|
||||
r104 | kutterma | 2007-07-31 00:16:15 +0200 (Di, 31 Jul 2007) | 3 lines
|
||||
|
||||
- removed optional nanoseconds from dateTime conversions
|
||||
- added conversion to date objects
|
||||
- removed fetching WSDL via SOAP::Schema in SOAP::WSDL. SOAP::Lite is still used as base class.
|
||||
------------------------------------------------------------------------
|
||||
r103 | kutterma | 2007-07-30 13:25:06 +0200 (Mo, 30 Jul 2007) | 1 line
|
||||
|
||||
- updated TODO
|
||||
------------------------------------------------------------------------
|
||||
r102 | kutterma | 2007-07-30 13:23:09 +0200 (Mo, 30 Jul 2007) | 2 lines
|
||||
|
||||
- updated Build.PL dependencies
|
||||
- update TODO
|
||||
------------------------------------------------------------------------
|
||||
r101 | kutterma | 2007-07-30 13:22:05 +0200 (Mo, 30 Jul 2007) | 2 lines
|
||||
|
||||
- added dateTime test
|
||||
- fixed pod test
|
||||
------------------------------------------------------------------------
|
||||
r100 | kutterma | 2007-07-27 16:03:15 +0200 (Fr, 27 Jul 2007) | 2 lines
|
||||
|
||||
- allow passing list refs of hash refs to set_value.
|
||||
I hope I got all combinations by now - start getting ugly...
|
||||
------------------------------------------------------------------------
|
||||
r99 | kutterma | 2007-07-26 23:18:35 +0200 (Do, 26 Jul 2007) | 1 line
|
||||
|
||||
- added SOAP::Lite usage (to be removed later)
|
||||
------------------------------------------------------------------------
|
||||
r98 | kutterma | 2007-07-26 23:16:30 +0200 (Do, 26 Jul 2007) | 3 lines
|
||||
|
||||
- removed SOAP::Lite dependency
|
||||
- added set_trace and tracing facility support via callback in call()
|
||||
- added fault_class property to allow different Fault classes (somewhen later on)
|
||||
------------------------------------------------------------------------
|
||||
r97 | kutterma | 2007-07-25 16:59:49 +0200 (Mi, 25 Jul 2007) | 3 lines
|
||||
|
||||
- dateTime now converts date strings into XML date strings
|
||||
- updated docs
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r96 | kutterma | 2007-07-23 11:17:36 +0200 (Mo, 23 Jul 2007) | 3 lines
|
||||
|
||||
- SOAP::WSDL::Definitions::create now
|
||||
- converts '.' in service names to '::' (.NET class separator to perl class separator)
|
||||
- outputs Typemaps and Interface classes in UTF8 to allow proper inclusion of UTF8 documentation from WSDL
|
||||
------------------------------------------------------------------------
|
||||
r95 | kutterma | 2007-07-23 10:26:59 +0200 (Mo, 23 Jul 2007) | 1 line
|
||||
|
||||
- typo
|
||||
------------------------------------------------------------------------
|
||||
r94 | kutterma | 2007-07-23 10:11:46 +0200 (Mo, 23 Jul 2007) | 1 line
|
||||
|
||||
- typo
|
||||
------------------------------------------------------------------------
|
||||
r93 | kutterma | 2007-07-22 23:24:12 +0200 (So, 22 Jul 2007) | 1 line
|
||||
|
||||
updated TODO
|
||||
------------------------------------------------------------------------
|
||||
r92 | kutterma | 2007-07-22 23:19:15 +0200 (So, 22 Jul 2007) | 3 lines
|
||||
|
||||
- WSDLHandler now handles <wsdl:documentation> tags
|
||||
- SOAP::WSDL::Definitions now includes some usable doc in generated interface classes
|
||||
- fixed explain in SimpleType, ComplexType and Element (someway)
|
||||
------------------------------------------------------------------------
|
||||
r91 | kutterma | 2007-07-22 21:18:21 +0200 (So, 22 Jul 2007) | 1 line
|
||||
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r90 | kutterma | 2007-07-22 15:42:23 +0200 (So, 22 Jul 2007) | 1 line
|
||||
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r89 | kutterma | 2007-07-22 15:38:25 +0200 (So, 22 Jul 2007) | 2 lines
|
||||
|
||||
- updated docs
|
||||
- removed useless docs from "internally used only" - modules
|
||||
------------------------------------------------------------------------
|
||||
r88 | kutterma | 2007-07-22 09:17:57 +0200 (So, 22 Jul 2007) | 1 line
|
||||
|
||||
typo
|
||||
------------------------------------------------------------------------
|
||||
r87 | kutterma | 2007-07-21 23:57:46 +0200 (Sa, 21 Jul 2007) | 1 line
|
||||
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r86 | kutterma | 2007-07-21 23:24:24 +0200 (Sa, 21 Jul 2007) | 5 lines
|
||||
|
||||
- removed irritating pod from SOAP::WSDL::XSD::Typelib::Builtin::* classes and put int into SOAP::WSDL::XSD::Typelib::Builtin
|
||||
- added fast constructor creation BEGIN block to all SOAP::WSDL::XSD::Typelib::Builtin::* classes
|
||||
- added examples
|
||||
- updated docs
|
||||
- prepared 2.00_07 pre-release
|
||||
------------------------------------------------------------------------
|
||||
r85 | kutterma | 2007-07-21 18:12:49 +0200 (Sa, 21 Jul 2007) | 4 lines
|
||||
|
||||
- added wsdl2perl code generation script - works against FortuneCookie web service at fullerdata.com
|
||||
- fixed SOAP::WSDL::Client::Base to work as base class for generated classes
|
||||
- added interface generation facility to SOAP::WSDL::Definitions
|
||||
- updated docs (a few)
|
||||
------------------------------------------------------------------------
|
||||
r84 | kutterma | 2007-07-20 15:37:40 +0200 (Fr, 20 Jul 2007) | 9 lines
|
||||
|
||||
- added Expat-based parser
|
||||
- made Expat-based parser the default
|
||||
- added fast "new" method to most important "Builtin" types
|
||||
- added Parser POD
|
||||
- fixed propagating element names in complex types to element elements - element ref="element" should work on
|
||||
class level now (don't know whether typelib supports it yet)
|
||||
- updated tests
|
||||
- updated HACKING
|
||||
- prepared 2.00_06 release
|
||||
------------------------------------------------------------------------
|
||||
r83 | kutterma | 2007-07-19 13:09:33 +0200 (Do, 19 Jul 2007) | 1 line
|
||||
|
||||
- fixed element class generation (removed additional ::)
|
||||
------------------------------------------------------------------------
|
||||
r82 | kutterma | 2007-07-17 22:17:02 +0200 (Di, 17 Jul 2007) | 1 line
|
||||
|
||||
- updated README and HACKING
|
||||
------------------------------------------------------------------------
|
||||
r81 | kutterma | 2007-07-17 22:00:14 +0200 (Di, 17 Jul 2007) | 5 lines
|
||||
|
||||
- added parent ref in SOAP::WSDL::Base - now we have a real tree, and maybe can completely support namespaces some day
|
||||
- replaced grep by List::Util::first where appropriate
|
||||
- code cleanup
|
||||
- fixed test for Code Generation
|
||||
- updated a few tests
|
||||
------------------------------------------------------------------------
|
||||
r80 | kutterma | 2007-07-17 17:00:48 +0200 (Di, 17 Jul 2007) | 1 line
|
||||
|
||||
- improved pod in generated classes
|
||||
------------------------------------------------------------------------
|
||||
r79 | kutterma | 2007-07-17 14:41:44 +0200 (Di, 17 Jul 2007) | 1 line
|
||||
|
||||
- made explain look nicer
|
||||
------------------------------------------------------------------------
|
||||
r78 | kutterma | 2007-07-15 12:25:03 +0200 (So, 15 Jul 2007) | 7 lines
|
||||
|
||||
- SOAP::WSDL::Definitions can now generate
|
||||
- Typemaps
|
||||
- Type and Element classes
|
||||
- fixed SOAP::WSDL::XSD::Typelib::ComplexType to support elements with type="ComplexType" definitions
|
||||
- moved toClass method in SOAP::WSDL::XSD::ComplexType, Element and SimpleType to to_class and added compatibility wrapper with warning for toClass calls
|
||||
- added generator test
|
||||
- updated docs
|
||||
------------------------------------------------------------------------
|
||||
r77 | kutterma | 2007-07-14 10:46:54 +0200 (Sa, 14 Jul 2007) | 1 line
|
||||
|
||||
- started working on high-level code generator
|
||||
------------------------------------------------------------------------
|
||||
r76 | kutterma | 2007-07-13 09:21:33 +0200 (Fr, 13 Jul 2007) | 1 line
|
||||
|
||||
- fixed handling of complex data (hashes with lists embedded lists of objects)
|
||||
------------------------------------------------------------------------
|
||||
r75 | kutterma | 2007-07-10 12:08:39 +0200 (Di, 10 Jul 2007) | 1 line
|
||||
|
||||
- removed unneeded SOAP::Lite calls
|
||||
------------------------------------------------------------------------
|
||||
r74 | kutterma | 2007-07-10 12:08:10 +0200 (Di, 10 Jul 2007) | 1 line
|
||||
|
||||
- updated to new SOAP::Lite API
|
||||
------------------------------------------------------------------------
|
||||
r73 | kutterma | 2007-07-10 12:00:25 +0200 (Di, 10 Jul 2007) | 6 lines
|
||||
|
||||
- re-integrated old SOAP::WSDL tests
|
||||
- updated docs
|
||||
- SOAP::WSDL::XSD::Typelib::Builtin::string now escapes XML builtin entities on serialization
|
||||
- SOAP::WSDL::XSD::Element now supports generating classes for elements and types into different namespaces
|
||||
- SOAP::WSDL::Definitions now supports different namespaces for elements and types when generating typmaps
|
||||
- 2.00_05 release preparation
|
||||
------------------------------------------------------------------------
|
||||
r72 | kutterma | 2007-07-06 11:20:56 +0200 (Fr, 06 Jul 2007) | 1 line
|
||||
|
||||
- fixed detail (typo)
|
||||
------------------------------------------------------------------------
|
||||
r71 | kutterma | 2007-07-05 16:13:28 +0200 (Do, 05 Jul 2007) | 1 line
|
||||
|
||||
- TODO comments added
|
||||
------------------------------------------------------------------------
|
||||
r70 | kutterma | 2007-07-04 16:14:50 +0200 (Mi, 04 Jul 2007) | 2 lines
|
||||
|
||||
- updated docs
|
||||
- prepared 2.00_04 release
|
||||
------------------------------------------------------------------------
|
||||
r69 | kutterma | 2007-07-04 16:07:54 +0200 (Mi, 04 Jul 2007) | 1 line
|
||||
|
||||
- ComplexType now ignores xmlns - TODO: check xmlns, don't ignore...
|
||||
------------------------------------------------------------------------
|
||||
r68 | kutterma | 2007-07-04 11:25:31 +0200 (Mi, 04 Jul 2007) | 1 line
|
||||
|
||||
- made builtin types with overloads serializable
|
||||
------------------------------------------------------------------------
|
||||
r67 | kutterma | 2007-07-04 09:51:06 +0200 (Mi, 04 Jul 2007) | 4 lines
|
||||
|
||||
- updated docs
|
||||
- removed unneeded uses from test
|
||||
- added Build requirements from tests
|
||||
- prepared 2.00_03 release
|
||||
------------------------------------------------------------------------
|
||||
r66 | kutterma | 2007-07-04 00:06:29 +0200 (Mi, 04 Jul 2007) | 3 lines
|
||||
|
||||
- split up builtin type lib into single files for Class::Std::Storable
|
||||
- fixed more tests
|
||||
- fixed complexType serialization for non-objecs
|
||||
------------------------------------------------------------------------
|
||||
r65 | kutterma | 2007-07-03 16:52:54 +0200 (Di, 03 Jul 2007) | 2 lines
|
||||
|
||||
- fixed a few tests
|
||||
- added performance improvements
|
||||
------------------------------------------------------------------------
|
||||
r64 | kutterma | 2007-07-03 15:09:27 +0200 (Di, 03 Jul 2007) | 1 line
|
||||
|
||||
- small performance improvements
|
||||
------------------------------------------------------------------------
|
||||
r63 | kutterma | 2007-07-03 14:37:28 +0200 (Di, 03 Jul 2007) | 3 lines
|
||||
|
||||
- fixed serializing complextypes correctly
|
||||
- fixed handling has attribute refs in new
|
||||
- fixed performance problems in MessageHandler
|
||||
------------------------------------------------------------------------
|
||||
r62 | kutterma | 2007-07-03 14:37:14 +0200 (Di, 03 Jul 2007) | 1 line
|
||||
|
||||
- re-added
|
||||
------------------------------------------------------------------------
|
||||
r61 | kutterma | 2007-07-03 14:36:59 +0200 (Di, 03 Jul 2007) | 1 line
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r60 | kutterma | 2007-07-01 09:52:41 +0200 (So, 01 Jul 2007) | 2 lines
|
||||
|
||||
- fixed lots of tests
|
||||
- attic tests may be re-integrated now...
|
||||
------------------------------------------------------------------------
|
||||
r59 | kutterma | 2007-06-28 13:07:35 +0200 (Do, 28 Jun 2007) | 1 line
|
||||
|
||||
- added ignore for dist tar.gz
|
||||
------------------------------------------------------------------------
|
||||
r58 | kutterma | 2007-06-28 13:06:25 +0200 (Do, 28 Jun 2007) | 1 line
|
||||
|
||||
- updated buildrequires
|
||||
------------------------------------------------------------------------
|
||||
r57 | kutterma | 2007-06-28 13:05:03 +0200 (Do, 28 Jun 2007) | 1 line
|
||||
|
||||
- typo
|
||||
------------------------------------------------------------------------
|
||||
r56 | kutterma | 2007-06-28 11:15:24 +0200 (Do, 28 Jun 2007) | 1 line
|
||||
|
||||
- pre-release 2.00_01
|
||||
------------------------------------------------------------------------
|
||||
r55 | kutterma | 2007-06-28 10:23:20 +0200 (Do, 28 Jun 2007) | 1 line
|
||||
|
||||
- moved old tests to attic
|
||||
------------------------------------------------------------------------
|
||||
r54 | kutterma | 2007-06-28 10:15:41 +0200 (Do, 28 Jun 2007) | 1 line
|
||||
|
||||
- fixed a few typos
|
||||
------------------------------------------------------------------------
|
||||
r53 | kutterma | 2007-06-28 10:10:41 +0200 (Do, 28 Jun 2007) | 3 lines
|
||||
|
||||
- fixed MessageHandler to support deserializing into objects which return false in boolean context
|
||||
- updated docs
|
||||
- fixed Fault11 (named detail correctly)
|
||||
------------------------------------------------------------------------
|
||||
r52 | kutterma | 2007-06-27 17:36:01 +0200 (Mi, 27 Jun 2007) | 3 lines
|
||||
|
||||
- added Fault for SOAP 1.1 implementation
|
||||
- fixed ComplexType - though it doesn't work quite for faults yet...
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r51 | kutterma | 2007-06-27 13:27:59 +0200 (Mi, 27 Jun 2007) | 13 lines
|
||||
|
||||
- added test for sending objects via call()
|
||||
- modified Client to accept objects of type SOAP::WSDL::XSD::Typelib::Builtin::anyType as message content
|
||||
without checking the WSDL objects
|
||||
Note:
|
||||
- SOAPAction is just guessed - needs to be replaced by something better
|
||||
- The method should be looked up from the typelib, too, and serialized according to the rules specified in the WSDL
|
||||
and dumped into the typelib.
|
||||
|
||||
- updated to_typelib to include top element
|
||||
- fixed element and complextype templates for toClass
|
||||
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r50 | kutterma | 2007-06-27 00:01:32 +0200 (Mi, 27 Jun 2007) | 1 line
|
||||
|
||||
- added xsi xmlns to envelope
|
||||
------------------------------------------------------------------------
|
||||
r49 | kutterma | 2007-06-26 23:52:18 +0200 (Di, 26 Jun 2007) | 1 line
|
||||
|
||||
- cosmetics and a few doc updates
|
||||
------------------------------------------------------------------------
|
||||
r48 | kutterma | 2007-06-26 22:47:52 +0200 (Di, 26 Jun 2007) | 2 lines
|
||||
|
||||
- refactored element serializing to make it somewhat more consistent
|
||||
- added nillable implementation for Elements
|
||||
------------------------------------------------------------------------
|
||||
r47 | kutterma | 2007-06-26 18:06:59 +0200 (Di, 26 Jun 2007) | 1 line
|
||||
|
||||
- removed shebang
|
||||
------------------------------------------------------------------------
|
||||
r46 | kutterma | 2007-06-26 18:06:33 +0200 (Di, 26 Jun 2007) | 1 line
|
||||
|
||||
- added warnings
|
||||
------------------------------------------------------------------------
|
||||
r45 | kutterma | 2007-06-26 17:39:09 +0200 (Di, 26 Jun 2007) | 3 lines
|
||||
|
||||
- got toClass working for generating WSDL based type libraries.
|
||||
- changed typelib base class behavior to qualify first element called.
|
||||
TODO (a bigger one): Fully support namespaces...
|
||||
------------------------------------------------------------------------
|
||||
r44 | kutterma | 2007-06-26 12:10:33 +0200 (Di, 26 Jun 2007) | 14 lines
|
||||
|
||||
- changed Typelib::Element to work as attribute of a type (serialize serializes start_tag and end_tag provided by Typelib::Element around it's vontent, if present)
|
||||
- worked on toClass functionality with embedded templates.
|
||||
There's much to do - current impl should support:
|
||||
* <element name="name" type="type"
|
||||
* <element name="name"><simpleType>
|
||||
* <element name="name"><complexType>
|
||||
|
||||
* <simpleType ...><list>
|
||||
* <simpleType ...><restriction>
|
||||
|
||||
* <complexType ...><all>
|
||||
* <complexType ...><sequence>
|
||||
|
||||
All other variants are not completely supported yet.
|
||||
------------------------------------------------------------------------
|
||||
r43 | kutterma | 2007-06-25 18:58:56 +0200 (Mo, 25 Jun 2007) | 1 line
|
||||
|
||||
- broke element again...
|
||||
------------------------------------------------------------------------
|
||||
r42 | kutterma | 2007-06-25 17:30:34 +0200 (Mo, 25 Jun 2007) | 3 lines
|
||||
|
||||
- fixed to_typemap to report atomic simple and complex types correctly
|
||||
- update tests
|
||||
- renamed WSDLFilter to WSDLHandler
|
||||
------------------------------------------------------------------------
|
||||
r41 | kutterma | 2007-06-25 17:29:41 +0200 (Mo, 25 Jun 2007) | 1 line
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r40 | kutterma | 2007-06-25 14:15:40 +0200 (Mo, 25 Jun 2007) | 2 lines
|
||||
|
||||
- Client.pm now uses XML::LibXML as default and falls back on XML::SAX::ParserFactory if not present
|
||||
- fixed tests
|
||||
------------------------------------------------------------------------
|
||||
r39 | kutterma | 2007-06-25 14:07:28 +0200 (Mo, 25 Jun 2007) | 2 lines
|
||||
|
||||
- typo in Element
|
||||
- fixed tests
|
||||
------------------------------------------------------------------------
|
||||
r38 | kutterma | 2007-06-25 10:31:20 +0200 (Mo, 25 Jun 2007) | 2 lines
|
||||
|
||||
- made WSDLFilter.pm a inside out class and let it run without XML::SAX::Base (This probably breaks a lot of tests - we need to implement XML::LibXML semantics in all tests / classes which use it)
|
||||
- first swag at to_typemap Typemap generation. to_typemap implemented throughout the WSDL:: modules. Some implementations (Elenenet.pm, ComplexType.pm) need further work for correctly handling atomic simpleType / complexType definitions.
|
||||
------------------------------------------------------------------------
|
||||
r37 | kutterma | 2007-06-24 09:15:22 +0200 (So, 24 Jun 2007) | 3 lines
|
||||
|
||||
- added test for on-the-fly created ComplexType
|
||||
- fixed ComplexType factory to really work
|
||||
- startet working on Element facets
|
||||
------------------------------------------------------------------------
|
||||
r36 | kutterma | 2007-06-24 09:14:46 +0200 (So, 24 Jun 2007) | 2 lines
|
||||
|
||||
- added test for on-the-fly created ComplexType
|
||||
- startet working on Element facets
|
||||
------------------------------------------------------------------------
|
||||
r35 | kutterma | 2007-06-24 08:13:32 +0200 (So, 24 Jun 2007) | 1 line
|
||||
|
||||
- implemented ComplexType as class factory to get rid of the annoying START every subclass had to implement.
|
||||
------------------------------------------------------------------------
|
||||
r34 | kutterma | 2007-06-23 23:22:35 +0200 (Sa, 23 Jun 2007) | 2 lines
|
||||
|
||||
- added XSD Typelib SimpleType, Element and ComplexType base classes (stereotypes).
|
||||
ComplexType's not yet complete (no restriction / extension etc. handling).
|
||||
------------------------------------------------------------------------
|
||||
r33 | kutterma | 2007-06-23 11:04:56 +0200 (Sa, 23 Jun 2007) | 2 lines
|
||||
|
||||
- added SOAP::WSDL::XSD::Typelib::Builtin implementation of builtin XML Schema datatypes with built-in stringification, boolification and numerification.
|
||||
- SAX::MessageHandler now deserializes simple types in SOAP messages into SOAP::WSDL::XSD::Typelib::Builtin (provided these are named in the ClassResolver...)
|
||||
------------------------------------------------------------------------
|
||||
r32 | kutterma | 2007-06-23 02:14:16 +0200 (Sa, 23 Jun 2007) | 4 lines
|
||||
|
||||
- added pod
|
||||
- added ref handling for elements
|
||||
- added abstract handling for elements (easy...)
|
||||
- added storing of content model (simpleContent/complexContent) to simpleType and complexType, though the attribute is still ignored in serializing
|
||||
------------------------------------------------------------------------
|
||||
r31 | kutterma | 2007-06-23 00:37:18 +0200 (Sa, 23 Jun 2007) | 1 line
|
||||
|
||||
- renamed MessageFilter to MessageHandler
|
||||
------------------------------------------------------------------------
|
||||
r30 | kutterma | 2007-06-23 00:35:54 +0200 (Sa, 23 Jun 2007) | 1 line
|
||||
|
||||
- renamed MessageFilter to MessageHandler
|
||||
------------------------------------------------------------------------
|
||||
r29 | kutterma | 2007-06-23 00:35:16 +0200 (Sa, 23 Jun 2007) | 2 lines
|
||||
|
||||
- switched to Class::Std::Storable
|
||||
- renamed MessageFilter to MessageHandler
|
||||
------------------------------------------------------------------------
|
||||
r28 | kutterma | 2007-06-22 18:56:28 +0200 (Fr, 22 Jun 2007) | 3 lines
|
||||
|
||||
- optimised SOAP::WSDL::SAX::MessageFilter for performance
|
||||
- moved Typelob into own directory and load it dynamically from test script
|
||||
- added some pod
|
||||
------------------------------------------------------------------------
|
||||
r27 | kutterma | 2007-06-22 15:34:28 +0200 (Fr, 22 Jun 2007) | 5 lines
|
||||
|
||||
- modified SOAP::WSDL::XSD lib to allow serializing of object hierarchies
|
||||
- added SOAP::WSDL::SAX::MessageFilter for creating object hierarchies from SOAP messages
|
||||
- moved Builtin XML Schema types to SOAP::WSDL:XSD::Schema::Builtin
|
||||
- added test + benchmark for serializing /deserializing SOAP messages into object trees
|
||||
- fixed Client to use SOAP::WSDL::Types as typelib, not first SOAP::WSDL::XSD::Schema
|
||||
------------------------------------------------------------------------
|
||||
r26 | kutterma | 2007-06-21 23:35:30 +0200 (Do, 21 Jun 2007) | 2 lines
|
||||
|
||||
- first swag at a typed SOAP Message parser.
|
||||
Typelib is still to be implemented...
|
||||
------------------------------------------------------------------------
|
||||
r25 | kutterma | 2007-06-21 18:14:49 +0200 (Do, 21 Jun 2007) | 1 line
|
||||
|
||||
- added missing files from last commit
|
||||
------------------------------------------------------------------------
|
||||
r24 | kutterma | 2007-06-19 00:29:36 +0200 (Di, 19 Jun 2007) | 3 lines
|
||||
|
||||
- worked a bit on explain
|
||||
- introduced handling of multiple schema definitions in one WSDL file
|
||||
- fixed propagating targetNamespace to child elements in WSDLFilter
|
||||
------------------------------------------------------------------------
|
||||
r23 | kutterma | 2007-06-16 14:48:30 +0200 (Sa, 16 Jun 2007) | 1 line
|
||||
|
||||
- updated new SOAP::WSDL framework to use inside out classes based on Class::Std (not yet complete)
|
||||
------------------------------------------------------------------------
|
||||
r22 | kutterma | 2007-06-12 23:19:41 +0200 (Di, 12 Jun 2007) | 4 lines
|
||||
|
||||
- updated a few tests
|
||||
- fixed a few WSDLs
|
||||
- fixed handling of elements with minOccurs 0
|
||||
- fixed setting of minOccurs/maxOccurs for all/sequence complexTypes
|
||||
------------------------------------------------------------------------
|
||||
r21 | kutterma | 2007-06-08 21:38:41 +0200 (Fr, 08 Jun 2007) | 2 lines
|
||||
|
||||
- updated a few tests
|
||||
- fixed namespaces in tests
|
||||
------------------------------------------------------------------------
|
||||
r19 | kutterma | 2007-05-31 16:58:18 +0200 (Do, 31 Mai 2007) | 10 lines
|
||||
|
||||
- first swag at a WSDL-generated Object-tree based SOAP client.
|
||||
|
||||
Works as following:
|
||||
a) a sax filter transforms the sax stream from a wsdl into a perl object tree
|
||||
b) the perl object tree has methods for performing the following tasks:
|
||||
a) explain: Tell what services and methods are there, and how to use them
|
||||
b) serialize: Serialize data structures to the XML defined in the WSDL & schema
|
||||
c) The client uses the generated XML to call the SOAP Server. Unfortunately, SOAP::Lite
|
||||
does not allow custom XML to be rendered as a method's "value", so we have to replace
|
||||
call() completely and generate the envelope on our own (which is not complete yet).
|
||||
------------------------------------------------------------------------
|
||||
r9 | kutterma | 2007-05-28 17:08:41 +0200 (Mo, 28 Mai 2007) | 1 line
|
||||
|
||||
- first try at bindings support - see t/12/bindings on how we could find out bindings and portname from a target URL
|
||||
------------------------------------------------------------------------
|
||||
r4 | kutterma | 2007-05-28 15:15:03 +0200 (Mo, 28 Mai 2007) | 1 line
|
||||
|
||||
- move from private repository to sourceforge
|
||||
------------------------------------------------------------------------
|
||||
Release notes for SOAP::WSDL 2.00_12
|
||||
-------
|
||||
|
||||
I'm very happy to present a new pre-release version of SOAP::WSDL.
|
||||
|
||||
SOAP::WSDL is a toolkit for creating SOAP interfaces in perl.
|
||||
|
||||
Features:
|
||||
|
||||
* WSDL based SOAP client
|
||||
o SOAP1.1 support
|
||||
o Supports document/literal message style/encoding
|
||||
* Code generator for generating WSDL-based interface classes
|
||||
o Generated code includes usage documentation for the web service interface
|
||||
* Easy-to use API. SOAP::WSDL is much easier to use than SOAP::Lite.
|
||||
o Automatically encodes perl data structures as message data
|
||||
o Automatically sets HTTP headers right
|
||||
* SOAP::Lite like look and feel.
|
||||
o Where possible, SOAP::WSDL mimics SOAP::Lite's API to allow easy migrations
|
||||
* XML schema based class library for creating data objects
|
||||
* High-performance XML parser
|
||||
* Plugin support. SOAP::WSDL can be extended through plugins in various aspects.
|
||||
The following plugins are supported:
|
||||
o Transport plugins via SOAP::WSDL::Factory::Transport
|
||||
o Serializer plugins via SOAP::WSDL::Factory::Serializer
|
||||
|
||||
|
||||
The following changes have been made:
|
||||
|
||||
2.00_12
|
||||
----
|
||||
|
||||
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):
|
||||
|
||||
* [1787146] SOAP::WSDL still uses XML::LibXML
|
||||
The superficious usage of XML::LibXML has been removed. XML::LibXML with
|
||||
sax filter has been replaced by SOAP::WSDL::Expat::WSDLParser.
|
||||
|
||||
* [1787054] Test suite requires XML::LibXML in 2.00_11
|
||||
The test suite no longer requires XML::LibXML to pass.
|
||||
|
||||
2.00_11
|
||||
----
|
||||
|
||||
The following features were added (the numbers in square brackets are the
|
||||
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):
|
||||
|
||||
* [1767963] Transport plugins via SOAP::WSDL::Factory::Transport.
|
||||
SOAP::WSDL uses SOAP::Lite's tranport modules as default, with a
|
||||
lightweight HTTP(S) transport plugin as fallback.
|
||||
Custom transport modules can be registered via SOAP::WSDL::Factory::Transport.
|
||||
|
||||
* [ 1772730 ] Serializer plugins via SOAP::WSDL::Factory::Serializer
|
||||
The default serializer for SOAP1.1 is SOAP::WSDL::Serializer::SOAP11.
|
||||
Custom serializers classes can be registered via
|
||||
SOAP::WSDL::Factory::Serializer or set via SOAP::WSDL's set_serializer
|
||||
method.
|
||||
|
||||
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):
|
||||
|
||||
* [ 1764854 ] Port WSDL parser to expat and remove XML::LibXML dependency
|
||||
SOAP::WSDL now requires only XML::Parser to be installed.
|
||||
XML::LibXML is not required any more, though XML::LibXML based modules still
|
||||
exist.
|
||||
|
||||
The following uncategorized improvements have been made
|
||||
|
||||
* The number of dependencies has been reduced. SOAP::WSDL no longer requires the
|
||||
following modules to be installed:
|
||||
- XML::SAX::Base
|
||||
- XML::SAX::ParserFactory
|
||||
- Pod::Simple::Text
|
||||
- XML::LibXML
|
||||
|
||||
* The missing prerequisite Template has been added.
|
||||
* Documentation has been improved.
|
||||
|
||||
|
||||
2.00_10
|
||||
----
|
||||
* Changed Makefile.PL to use Module::Build (passthrough mode)
|
||||
* fixed element ref="" handling
|
||||
|
||||
2.00_09
|
||||
----
|
||||
* SOAP::WSDL::XSD::Typelib::Builtin::boolean objects now return their numerical
|
||||
value in bool context, not "true" or "false" (always true...)
|
||||
* date/time test are now timezone-sensitive
|
||||
* examples added
|
||||
|
||||
2.00_08
|
||||
---
|
||||
* SOAP::WSDL::XSD::Typelib::ComplexType objects now check the class of their
|
||||
child objects.
|
||||
This provides early feedback to developers.
|
||||
* SOAP message parser can skip unwanted parts of the message to improve parsing
|
||||
speed - see SOAP::WSDL::Expat::MessageParser for details.
|
||||
* HTTP Content-Type is configurable
|
||||
* SOAP::WSDL::XSD::Typelib::ComplexType based objects accept any combination of
|
||||
hash refs, list refs and objects as parameter to set_value() and new().
|
||||
* SOAP::WSDL::XSD::Typelib::Builtin::dateTime and ::date convert date
|
||||
strings into XML date strings
|
||||
* SOAP::WSDL::Definitions::create now
|
||||
- converts '.' in service names to '::' (.NET class separator to perl class
|
||||
separator)
|
||||
- outputs Typemaps and Interface classes in UTF8 to allow proper inclusion
|
||||
of UTF8 documentation from WSDL
|
||||
* SOAP::WSDL::Definitions::create() includes doc in generated interface classes
|
||||
* WSDLHandler now handles <wsdl:documentation> tags
|
||||
* fixed explain in SimpleType, ComplexType and Element
|
||||
|
||||
2.00_07 and below
|
||||
---
|
||||
* Implemented a Code generator for creating SOAP interfaces based on WSDL definitions
|
||||
* Implemented a high-speed stream based SOAP message parser
|
||||
SOAP message parser returns a objects based on XML schema based class library
|
||||
* Implemented a XML schema based class library
|
||||
* Implemented a stream based WSDL parser.
|
||||
Parses WSDL into objects. Objects can serialize data, and explain how to use the
|
||||
service(s) they make up (output documentation).
|
||||
|
||||
6
MANIFEST
6
MANIFEST
@@ -1,3 +1,4 @@
|
||||
benchmark/01_expat.t
|
||||
bin/wsdl2perl.pl
|
||||
Build.PL
|
||||
CHANGES
|
||||
@@ -22,7 +23,6 @@ example/lib/MyTypemaps/FullerData_x0020_Fortune_x0020_Cookie.pm
|
||||
example/lib/MyTypemaps/GlobalWeather.pm
|
||||
example/weather.pl
|
||||
example/weather_wsdl.pl
|
||||
example/weather_xml_compile.pl
|
||||
example/wsdl/FortuneCookie.xml
|
||||
example/wsdl/genericbarcode.xml
|
||||
example/wsdl/globalweather.xml
|
||||
@@ -42,7 +42,7 @@ lib/SOAP/WSDL/Factory/Serializer.pm
|
||||
lib/SOAP/WSDL/Factory/Transport.pm
|
||||
lib/SOAP/WSDL/Manual.pod
|
||||
lib/SOAP/WSDL/Manual/Glossary.pod
|
||||
lib/SOAP/WSDL/Manual/WS_I_BasicProfile_Compliance.pod
|
||||
lib/SOAP/WSDL/Manual/WS_I.pod
|
||||
lib/SOAP/WSDL/Message.pm
|
||||
lib/SOAP/WSDL/Operation.pm
|
||||
lib/SOAP/WSDL/OpMessage.pm
|
||||
@@ -50,7 +50,6 @@ lib/SOAP/WSDL/Parser.pod
|
||||
lib/SOAP/WSDL/Part.pm
|
||||
lib/SOAP/WSDL/Port.pm
|
||||
lib/SOAP/WSDL/PortType.pm
|
||||
lib/SOAP/WSDL/RELEASE_NOTES
|
||||
lib/SOAP/WSDL/SAX/MessageHandler.pm
|
||||
lib/SOAP/WSDL/SAX/WSDLHandler.pm
|
||||
lib/SOAP/WSDL/Serializer/SOAP11.pm
|
||||
@@ -203,6 +202,5 @@ t/SOAP/WSDL/11_helloworld.NET.t
|
||||
t/SOAP/WSDL/12_binding.pl
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/001_string.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/002_dateTime.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/002_time.t
|
||||
t/SOAP/WSDL/XSD/Typelib/Builtin/003_date.t
|
||||
TODO
|
||||
|
||||
5
META.yml
5
META.yml
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: SOAP-WSDL
|
||||
version: 2.00_11
|
||||
version: 2.00_12
|
||||
author:
|
||||
abstract: SOAP with WSDL support
|
||||
license: artistic
|
||||
@@ -23,13 +23,14 @@ meta-spec:
|
||||
provides:
|
||||
SOAP::WSDL:
|
||||
file: lib/SOAP/WSDL.pm
|
||||
version: 2.00_10
|
||||
version: 2.00_12
|
||||
SOAP::WSDL::Base:
|
||||
file: lib/SOAP/WSDL/Base.pm
|
||||
SOAP::WSDL::Binding:
|
||||
file: lib/SOAP/WSDL/Binding.pm
|
||||
SOAP::WSDL::Client:
|
||||
file: lib/SOAP/WSDL/Client.pm
|
||||
version: 2.00_12
|
||||
SOAP::WSDL::Client::Base:
|
||||
file: lib/SOAP/WSDL/Client/Base.pm
|
||||
SOAP::WSDL::Definitions:
|
||||
|
||||
68
benchmark/01_expat.t
Normal file
68
benchmark/01_expat.t
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
use lib 'lib';
|
||||
use lib '../t/lib';
|
||||
use SOAP::WSDL::SAX::MessageHandler;
|
||||
|
||||
use Benchmark;
|
||||
use SOAP::WSDL::Expat::MessageParser;
|
||||
use XML::Simple;
|
||||
use XML::LibXML;
|
||||
use MyComplexType;
|
||||
use MyElement;
|
||||
use MySimpleType;
|
||||
|
||||
my $xml = q{<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" >
|
||||
<SOAP-ENV:Body><MyAtomicComplexTypeElement xmlns="urn:Test" >
|
||||
<test>Test</test>
|
||||
<test2 >Test2</test2>
|
||||
</MyAtomicComplexTypeElement></SOAP-ENV:Body></SOAP-ENV:Envelope>};
|
||||
|
||||
|
||||
my $parser = SOAP::WSDL::Expat::MessageParser->new({
|
||||
class_resolver => 'FakeResolver'
|
||||
});
|
||||
|
||||
$XML::Simple::PREFERRED_PARSER = 'XML::Parser';
|
||||
|
||||
my $libxml = XML::LibXML->new();
|
||||
|
||||
timethese 1000,
|
||||
{
|
||||
'SOAP::WSDL' => sub { $parser->parse( $xml ) },
|
||||
#'XML::Simple (Hash)' => sub { XMLin $xml },
|
||||
'XML::LibXML (DOM)' => sub { my $dom = $libxml->parse_string( $xml ) },
|
||||
};
|
||||
|
||||
use Test::More tests => 1;
|
||||
is $parser->get_data(), q{<MyAtomicComplexTypeElement xmlns="urn:Test" >}
|
||||
. q{<test >Test</test><test2 >Test2</test2></MyAtomicComplexTypeElement>}
|
||||
, 'Content comparison';
|
||||
|
||||
$parser->class_resolver( 'FakeResolver2' );
|
||||
|
||||
|
||||
# data classes reside in t/lib/Typelib/
|
||||
BEGIN {
|
||||
package FakeResolver;
|
||||
{
|
||||
my %class_list = (
|
||||
'MyAtomicComplexTypeElement' => 'MyAtomicComplexTypeElement',
|
||||
'MyAtomicComplexTypeElement/test' => 'MyTestElement',
|
||||
'MyAtomicComplexTypeElement/test2' => 'MyTestElement2',
|
||||
);
|
||||
|
||||
sub get_map { return \%class_list };
|
||||
|
||||
sub new { return bless {}, 'FakeResolver' };
|
||||
|
||||
sub get_class {
|
||||
my $name = join('/', @{ $_[1] });
|
||||
return ($class_list{ $name }) ? $class_list{ $name }
|
||||
: warn "no class found for $name";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,43 +0,0 @@
|
||||
# Accessing the globalweather service at
|
||||
# www.webservicex.net/GlobalWeather/GlobalWeather.asmx
|
||||
#
|
||||
# Note that the GlobalWeather web service returns a (quoted) XML structure -
|
||||
# don't be surprised by the response's format.
|
||||
#
|
||||
# I have no connection to www.webservicex.net
|
||||
# Use this script at your own risk.
|
||||
#
|
||||
# This script demonstrates the use of SOAP::WSDL in SOAP::Lite style.
|
||||
=for later
|
||||
use lib 'lib/';
|
||||
use lib '../lib';
|
||||
use SOAP::WSDL;
|
||||
use File::Basename qw(dirname);
|
||||
use File::Spec;
|
||||
my $path = File::Spec->rel2abs( dirname __FILE__);
|
||||
|
||||
my $soap = SOAP::WSDL->new();
|
||||
my $som = $soap->wsdl("file:///$path/wsdl/globalweather.xml")->no_dispatch(1)
|
||||
->call('GetWeather', GetWeather => { CountryName => 'Germany', CityName => 'Munich' });
|
||||
|
||||
print $som;
|
||||
|
||||
=for later use
|
||||
|
||||
die $som->message() if $som->fault();
|
||||
|
||||
print $som->result();
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use diagnostics;
|
||||
|
||||
use XML::Compile::WSDL;
|
||||
my $schema = XML::Compile::WSDL->new('wsdl/globalweather.xml',
|
||||
schema_dirs => 'D:/Test/XMLC/'
|
||||
);
|
||||
|
||||
my $operation = $schema->prepare('GetWeather', role => 'CLIENT', port => 'GlobalWeatherSoap');
|
||||
use Data::Dumper;
|
||||
print Dumper $operation;
|
||||
@@ -5,13 +5,11 @@ use vars qw($AUTOLOAD);
|
||||
use Carp;
|
||||
use Scalar::Util qw(blessed);
|
||||
use SOAP::WSDL::Client;
|
||||
use SOAP::WSDL::Envelope;
|
||||
use SOAP::WSDL::SAX::WSDLHandler;
|
||||
use SOAP::WSDL::Expat::WSDLParser;
|
||||
use Class::Std;
|
||||
use XML::LibXML;
|
||||
use LWP::UserAgent;
|
||||
|
||||
our $VERSION='2.00_10';
|
||||
our $VERSION='2.00_12';
|
||||
|
||||
my %no_dispatch_of :ATTR(:name<no_dispatch>);
|
||||
my %wsdl_of :ATTR(:name<wsdl>);
|
||||
@@ -98,13 +96,11 @@ sub wsdlinit {
|
||||
croak $response->message() if ($response->code != 200);
|
||||
|
||||
# TODO: Port parser to expat and remove XML::LibXML dependency
|
||||
my $parser = XML::LibXML->new();
|
||||
my $filter = SOAP::WSDL::SAX::WSDLHandler->new();
|
||||
$parser->set_handler( $filter );
|
||||
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||
$parser->parse_string( $response->content() );
|
||||
|
||||
# sanity checks
|
||||
my $wsdl_definitions = $filter->get_data() or die "unable to parse WSDL";
|
||||
my $wsdl_definitions = $parser->get_data() or die "unable to parse WSDL";
|
||||
my $types = $wsdl_definitions->first_types()
|
||||
or die "unable to extract schema from WSDL";
|
||||
my $ns = $wsdl_definitions->get_xmlns()
|
||||
@@ -662,9 +658,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 176 $
|
||||
$Rev: 188 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: WSDL.pm 176 2007-08-31 15:28:29Z kutterma $
|
||||
$Id: WSDL.pm 188 2007-09-03 15:15:19Z kutterma $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
|
||||
|
||||
=cut
|
||||
|
||||
@@ -13,6 +13,8 @@ use SOAP::WSDL::Factory::Transport;
|
||||
use SOAP::WSDL::Expat::MessageParser;
|
||||
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
||||
|
||||
our $VERSION='2.00_12';
|
||||
|
||||
# Package global for speed and memory savings.
|
||||
# But should be factored out into serializer/deserializer...
|
||||
my $PARSER;
|
||||
@@ -381,9 +383,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
||||
|
||||
=head1 REPOSITORY INFORMATION
|
||||
|
||||
$Rev: 176 $
|
||||
$Rev: 188 $
|
||||
$LastChangedBy: kutterma $
|
||||
$Id: Client.pm 176 2007-08-31 15:28:29Z kutterma $
|
||||
$Id: Client.pm 188 2007-09-03 15:15:19Z kutterma $
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
|
||||
|
||||
=cut
|
||||
|
||||
@@ -8,7 +8,7 @@ use XML::Parser::Expat;
|
||||
sub new {
|
||||
my ($class, $args) = @_;
|
||||
my $self = {
|
||||
class_resolver => $args->{ class_resolver }
|
||||
class_resolver => $args->{ class_resolver },
|
||||
};
|
||||
bless $self, $class;
|
||||
return $self;
|
||||
@@ -20,9 +20,9 @@ sub class_resolver {
|
||||
}
|
||||
|
||||
sub _initialize {
|
||||
my ($self, $parser) = @_;
|
||||
my ($self, $parser) = @_;
|
||||
|
||||
delete $self->{ data };
|
||||
delete $self->{ data }; # remove potential old results
|
||||
|
||||
my $characters;
|
||||
my $current = undef;
|
||||
@@ -34,17 +34,25 @@ sub _initialize {
|
||||
# use "globals" for speed
|
||||
my ($_prefix, $_localname, $_element, $_method,
|
||||
$_class, $_parser, %_attrs) = ();
|
||||
|
||||
|
||||
no strict qw(refs);
|
||||
$parser->setHandlers(
|
||||
Start => sub {
|
||||
($_parser, $_element, %_attrs) = @_;
|
||||
($_prefix, $_localname) = split m{:}xms , $_element;
|
||||
|
||||
$_localname ||= $_element; # for non-prefixed elements
|
||||
|
||||
$_localname ||= $_element; # for non-prefixed elements
|
||||
|
||||
# ignore top level elements
|
||||
if (@{ $ignore } && $_localname eq $ignore->[0]) {
|
||||
if (@{ $ignore } && $_localname eq $ignore->[0]) {
|
||||
CHECK_ENVELOPE: {
|
||||
last CHECK_ENVELOPE if $_localname ne 'Envelope';
|
||||
last CHECK_ENVELOPE if exists $_attrs{ 'xmlns' }
|
||||
&& $_attrs{ 'xmlns' } eq 'http://schemas.xmlsoap.org/soap/envelope/';
|
||||
last CHECK_ENVELOPE if $_attrs{ "xmlns:$_prefix"}
|
||||
eq 'http://schemas.xmlsoap.org/soap/envelope/';
|
||||
die "Bad namespace for SOAP envelope: " . $parser->recognized_string();
|
||||
}
|
||||
shift @{ $ignore };
|
||||
return;
|
||||
}
|
||||
@@ -52,10 +60,10 @@ sub _initialize {
|
||||
push @{ $path }, $_localname; # step down in path
|
||||
return if $skip; # skip inside __SKIP__
|
||||
|
||||
# resolve class of this element
|
||||
# resolve class of this element
|
||||
$_class = $self->{ class_resolver }->get_class( $path )
|
||||
or die "Cannot resolve class for "
|
||||
. join('/', @{ $path }) . " via $self->{ class_resolver }";
|
||||
. join('/', @{ $path }) . " via " . $self->{ class_resolver };
|
||||
|
||||
# maybe write as "return $skip = join ... if (...)" ?
|
||||
# would save a BLOCK...
|
||||
@@ -71,15 +79,17 @@ sub _initialize {
|
||||
# if $class matches...
|
||||
|
||||
if (index $_class, 'SOAP::WSDL::XSD::Typelib::Builtin', 0 < 0) {
|
||||
# check wheter there is a CODE reference for $class::new.
|
||||
# check wheter there is a non-empty ARRAY reference for $_class::ISA
|
||||
# or a "new" method
|
||||
# If not, require it - all classes required here MUST
|
||||
# define new()
|
||||
# This is the same as $class->can('new'), but it's way faster
|
||||
*{ "$_class\::new" }{ CODE }
|
||||
# This is not exactly the same as $class->can('new'), but it's way faster
|
||||
defined *{ "$_class\::new" }{ CODE }
|
||||
or scalar @{ *{ "$_class\::ISA" }{ ARRAY } }
|
||||
or eval "require $_class" ## no critic qw(ProhibitStringyEval)
|
||||
or die $@;
|
||||
or die $@;
|
||||
}
|
||||
|
||||
|
||||
$current = $_class->new({ %_attrs }); # set new current object
|
||||
|
||||
# remember top level element
|
||||
@@ -124,8 +134,8 @@ sub _initialize {
|
||||
# set appropriate attribute in last element
|
||||
# multiple values must be implemented in base class
|
||||
$_method = "add_$_localname";
|
||||
$$list[-1]->$_method( $current );
|
||||
|
||||
$$list[-1]->$_method( $current );
|
||||
|
||||
$current = pop @$list; # step up in object hierarchy...
|
||||
}
|
||||
);
|
||||
@@ -208,8 +218,8 @@ This module may be used under the same terms as perl itself.
|
||||
|
||||
$ID: $
|
||||
|
||||
$LastChangedDate: 2007-08-31 17:28:29 +0200 (Fr, 31 Aug 2007) $
|
||||
$LastChangedRevision: 176 $
|
||||
$LastChangedDate: 2007-09-02 21:05:18 +0200 (So, 02 Sep 2007) $
|
||||
$LastChangedRevision: 184 $
|
||||
$LastChangedBy: kutterma $
|
||||
|
||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
|
||||
|
||||
@@ -35,9 +35,6 @@ the service's interface structure.
|
||||
The results of all calls to your service object's methods (except new)
|
||||
are objects based on SOAP::WSDL's XML schema implementation.
|
||||
|
||||
These objects are false in boolean context, and serialize to XML when
|
||||
printed.
|
||||
|
||||
To access the object's properties use get_NAME / set_NAME getter/setter
|
||||
methods whith NAME corresponding to the XML tag name.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
SOAP::WSDL WS-I Basic Profile Compliance - How SOAP::WSDL complies to WS-I Basic Profile 1.0
|
||||
SOAP::WSDL::Manual::WS_I - How SOAP::WSDL complies to WS-I Basic Profile 1.0
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
@@ -292,7 +292,18 @@ the SOAPAction header from the operation name and the top node's namespace.
|
||||
|
||||
SOAP::WSDL::Client always assures the SOAPaction header is quoted, thus
|
||||
automatically inserts the empty string if no SOAPAction header is defined.
|
||||
|
||||
|
||||
=head2 R1015
|
||||
|
||||
A RECEIVER MUST generate a fault if they encounter a message whose document
|
||||
element has a local name of "Envelope" but a namespace name that is not
|
||||
"http://schemas.xmlsoap.org/soap/envelope/".
|
||||
|
||||
SOAP::WSDL::Expat::MessageParser checks the namespace of the SOAP envelope.
|
||||
|
||||
SOAP::WSDL::Expat::MessageParser does not check that Envelope is the root
|
||||
element, yet.
|
||||
|
||||
|
||||
=head1 RULES NOT CONFIRMED
|
||||
@@ -347,16 +358,6 @@ However, rpc-literal bindings are not supported, yet.
|
||||
|
||||
TODO support rpc-literal bindings.
|
||||
|
||||
=head2 R1015
|
||||
|
||||
A RECEIVER MUST generate a fault if they encounter a message whose document
|
||||
element has a local name of "Envelope" but a namespace name that is not
|
||||
"http://schemas.xmlsoap.org/soap/envelope/".
|
||||
|
||||
SOAP::WSDL::Expat::MessageParser does not check the namespace of the SOAP envelope.
|
||||
|
||||
TODO implement checking namespace of the SOAP envelope and emit fault if not "http://schemas.xmlsoap.org/soap/envelope/".
|
||||
|
||||
=head2 R2008
|
||||
|
||||
In a DESCRIPTION the value of the location attribute of a wsdl:import element
|
||||
@@ -1,71 +0,0 @@
|
||||
Release notes for SOAP::WSDL 2.00_11
|
||||
-------
|
||||
|
||||
I'm happy to present a new pre-release version of SOAP::WSDL.
|
||||
|
||||
The following features were added (the numbers in brackets are the tracker IDs
|
||||
from https://sourceforge.net/tracker/?group_id=111978&atid=660924):
|
||||
|
||||
* [1767963] Transport plugins via SOAP::WSDL::Factory::Transport.
|
||||
SOAP::WSDL uses SOAP::Lite's tranport modules as default, with a
|
||||
lightweight HTTP(S) transport plugin as fallback.
|
||||
Custom transport modules can be registered via
|
||||
SOAP::WSDL::Factory::Transport.
|
||||
|
||||
* [ 1772730 ] Serializer plugins via SOAP::WSDL::Factory::Serializer
|
||||
The default serializer for SOAP1.1 is SOAP::WSDL::Serializer::SOAP11.
|
||||
Custom serializers classes can be registered via
|
||||
SOAP::WSDL::Factory::Serializer or set via SOAP::Lite's set_serializer
|
||||
method.
|
||||
|
||||
The following bugs have been fixed (the numbers in brackets are the tracker IDs
|
||||
from https://sourceforge.net/tracker/?group_id=111978&atid=660921):
|
||||
|
||||
* [ 1764854 ] Port WSDL parser to expat and remove XML::LibXML dependency
|
||||
SOAP::WSDL now requires only XML::Parser to be installed.
|
||||
XML::LibXML is not required any more, though XML::LibXML based modules still
|
||||
exist.
|
||||
|
||||
The following uncategorized improvements have been made
|
||||
|
||||
* The number of dependencies has been reduced. SOAP::WSDL no longer requires the
|
||||
following modules to be installed:
|
||||
- XML::SAX::Base
|
||||
- XML::SAX::ParserFactory
|
||||
- Pod::Simple::Text
|
||||
|
||||
* The missing prerequisite Template has been added.
|
||||
* Documentation has been improved.
|
||||
|
||||
The following changes were made in former pre-relase versions:
|
||||
|
||||
2.00_10
|
||||
----
|
||||
* Changed Makefile.PL to use Module::Build (passthrough mode)
|
||||
* fixed element ref="" handling
|
||||
|
||||
2.00_09
|
||||
----
|
||||
* SOAP::WSDL::XSD::Typelib::Builtin::boolean objects now return their numerical
|
||||
value in bool context, not "true" or "false" (always true...)
|
||||
* date/time test are now timezone-sensitive
|
||||
* examples added
|
||||
|
||||
2.00_08
|
||||
---
|
||||
* SOAP message parser may skip unwanted parts of the message - see
|
||||
SOAP::WSDL::Expat::MessageParser for details.
|
||||
* HTTP Content-Type is configurable now
|
||||
* SOAP::WSDL::XSD::Typelib::ComplexType based objects now accept a
|
||||
list ref of hash refs as parameter to set_value.
|
||||
* SOAP::WSDL::XSD::Typelib::Builtin::dateTime and ::date now converts date
|
||||
strings into XML date strings
|
||||
* SOAP::WSDL::Definitions::create now
|
||||
- converts '.' in service names to '::' (.NET class separator to perl class
|
||||
separator)
|
||||
- outputs Typemaps and Interface classes in UTF8 to allow proper inclusion
|
||||
of UTF8 documentation from WSDL
|
||||
* WSDLHandler now handles <wsdl:documentation> tags
|
||||
* SOAP::WSDL::Definitions now includes some usable doc in generated interface classes
|
||||
* fixed explain in SimpleType, ComplexType and Element (someway)
|
||||
|
||||
@@ -181,7 +181,7 @@ sub to_class {
|
||||
my $template = <<'EOT';
|
||||
package [% type_prefix %][% self.get_name %];
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
|
||||
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
||||
use base qw(
|
||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||
|
||||
@@ -244,7 +244,7 @@ sub to_class {
|
||||
my $template = <<'EOT';
|
||||
package [% element_prefix %][% self.get_name %];
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
|
||||
use SOAP::WSDL::XSD::Typelib::Element;
|
||||
|
||||
[% IF (type = self.first_simpleType) %]
|
||||
|
||||
@@ -37,29 +37,20 @@ 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
|
||||
if (
|
||||
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} )?
|
||||
[\+\-] \d{2} \: \d{2} $
|
||||
}xms
|
||||
) {
|
||||
$_[0]->SUPER::set_value($_[1])
|
||||
}
|
||||
# use a combination of strptime and strftime for converting the date
|
||||
# strptime does not emit timezone info, so we're pretty fucked up here.
|
||||
#
|
||||
# Unfortunately, strftime outputs the time zone as [+-]0000, whereas XML
|
||||
# whants it as [+-]00:00
|
||||
# We leave out the optional nanoseconds part, as it would always be empty.
|
||||
else {
|
||||
# strptime sets empty values to undef - and strftime doesn't like that...
|
||||
my @time_from = map { ! defined $_ ? 0 : $_ } strptime($_[1]);
|
||||
undef $time_from[-1];
|
||||
);
|
||||
|
||||
# strptime sets empty values to undef - and strftime doesn't like that...
|
||||
my @time_from = map { ! defined $_ ? 0 : $_ } strptime($_[1]);
|
||||
undef $time_from[-1];
|
||||
|
||||
my $time_str = strftime( '%Y-%m-%dT%H:%M:%S%z', @time_from );
|
||||
substr $time_str, -2, 0, ':';
|
||||
$_[0]->SUPER::set_value($time_str);
|
||||
}
|
||||
my $time_str = strftime( '%Y-%m-%dT%H:%M:%S%z', @time_from );
|
||||
substr $time_str, -2, 0, ':';
|
||||
$_[0]->SUPER::set_value($time_str);
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
@@ -4,9 +4,9 @@ use strict;
|
||||
use warnings;
|
||||
use Carp;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||
use Scalar::Util qw(blessed);
|
||||
use Class::Std::Storable;
|
||||
use Scalar::Util qw(blessed refaddr);
|
||||
use Data::Dumper;
|
||||
use Class::Std::Storable;
|
||||
|
||||
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anyType);
|
||||
|
||||
@@ -64,7 +64,7 @@ sub _factory {
|
||||
my $is_list = $type->isa('SOAP::WSDL::XSD::Typelib::Builtin::list');
|
||||
|
||||
*{ "$class\::set_$name" } = sub {
|
||||
my ($self, $value) = @_;
|
||||
# my ($self, $value) = @_;
|
||||
|
||||
# The structure below looks rather weird, but is optimized for performance.
|
||||
#
|
||||
@@ -93,11 +93,11 @@ sub _factory {
|
||||
# for GLOB references, feel free to add them.
|
||||
# d) we should also die for non-blessed non-ARRAY/HASH references in lists but don't do yet - oh my !
|
||||
|
||||
my $is_ref = ref $value;
|
||||
$attribute_ref->{ ident $self } = ($is_ref)
|
||||
my $is_ref = ref $_[1];
|
||||
$attribute_ref->{ ident $_[0] } = ($is_ref)
|
||||
? $is_ref eq 'ARRAY'
|
||||
? $is_list # remembered from outside closure
|
||||
? $type->new({ value => $value }) # list element - can take list ref as value
|
||||
? $type->new({ value => $_[1] }) # list element - can take list ref as value
|
||||
: [ map {
|
||||
ref $_
|
||||
? ref $_ eq 'HASH'
|
||||
@@ -106,20 +106,20 @@ sub _factory {
|
||||
? $_
|
||||
: croak "cannot use " . ref($_) . " reference as value for $name - $type required"
|
||||
: $type->new({ value => $_ })
|
||||
} @{ $value }
|
||||
} @{ $_[1] }
|
||||
]
|
||||
: $is_ref eq 'HASH'
|
||||
? $type->new( $value )
|
||||
? $type->new( $_[1] )
|
||||
: $is_ref eq $type
|
||||
? $value
|
||||
? $_[1]
|
||||
: die croak "cannot use $is_ref reference as value for $name - $type required"
|
||||
: $type->new({ value => $value });
|
||||
: $type->new({ value => $_[1] });
|
||||
};
|
||||
|
||||
*{ "$class\::add_$name" } = sub {
|
||||
my $ident = ident $_[0];
|
||||
warn "attempting to add empty value to " . ref $_[0]
|
||||
if (not defined $_[1]);
|
||||
if not defined $_[1];
|
||||
|
||||
# first call
|
||||
return $attribute_ref->{ $ident } = $_[1]
|
||||
@@ -133,16 +133,30 @@ sub _factory {
|
||||
return push @{ $attribute_ref->{ $ident } }, $_[1];
|
||||
};
|
||||
|
||||
*{ "$class\::$name" } = *{ "$class\::add_$name" };
|
||||
}
|
||||
|
||||
*{ "$class\::new" } = sub {
|
||||
my $self = bless \my ($o), $_[0];
|
||||
$self->BUILD( ident $self, $_[1] ) if exists &BUILD;
|
||||
$self->_init( ident $self, $_[1] );
|
||||
$self->START( ident $self, $_[1] ) if exists &START;
|
||||
return $self;
|
||||
};
|
||||
|
||||
*{ "$class\::START" } = sub {
|
||||
my ($self, $ident, $args_of) = @_;
|
||||
*{ "$class\::_init" } = sub {
|
||||
# We're working on @_ for speed.
|
||||
# Normally, the first line would look like this:
|
||||
# my ($self, $ident, $args_of) = @_;
|
||||
#
|
||||
# The hanging side comment show you what would be there, then.
|
||||
|
||||
# iterate over keys of arguments
|
||||
# and call set appropriate field in clase
|
||||
map { ($ATTRIBUTES_OF{ $class }->{ $_ })
|
||||
? do {
|
||||
my $method = "set_$_";
|
||||
$self->$method( $args_of->{ $_ } );
|
||||
$_[0]->$method( $_[2]->{ $_ } ); # ( $args_of->{ $_ } );
|
||||
}
|
||||
: $_ =~ m{ \A # beginning of string
|
||||
xmlns # xmlns
|
||||
@@ -152,8 +166,8 @@ sub _factory {
|
||||
croak "unknown field $_ in $class. Valid fields are:\n"
|
||||
. join(', ', @{ $ELEMENTS_FROM{ $class } }) . "\n"
|
||||
. "Structure given:\n" . Dumper @_ };
|
||||
} keys %$args_of;
|
||||
return $self;
|
||||
} keys %{ $_[2] }; # %$args_of;
|
||||
return $_[0]; # $self;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#!/usr/bin/perl
|
||||
package SOAP::WSDL::XSD::Typelib::Element;
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
use Data::Dumper;
|
||||
|
||||
my %NAME;
|
||||
my %NILLABLE;
|
||||
|
||||
@@ -1,30 +1,24 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More tests => 18; # qw/no_plan/; # TODO: change to tests => N;
|
||||
use Test::More tests => 17;
|
||||
use lib '../lib';
|
||||
|
||||
use XML::LibXML;
|
||||
|
||||
eval {
|
||||
require Test::XML;
|
||||
import Test::XML;
|
||||
};
|
||||
|
||||
use_ok(qw/SOAP::WSDL::SAX::WSDLHandler/);
|
||||
use_ok(qw/SOAP::WSDL::Expat::WSDLParser/);
|
||||
|
||||
my $filter;
|
||||
|
||||
ok($filter = SOAP::WSDL::SAX::WSDLHandler->new(
|
||||
), "Object creation");
|
||||
|
||||
my $parser = XML::LibXML->new();
|
||||
$parser->set_handler( $filter );
|
||||
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||
|
||||
$parser->parse_string( xml() );
|
||||
|
||||
my $wsdl;
|
||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
||||
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||
|
||||
my $types = $wsdl->first_types();
|
||||
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
use Test::More tests => 11;
|
||||
use Data::Dumper;
|
||||
use lib '../lib';
|
||||
use XML::LibXML;
|
||||
|
||||
use_ok(qw/SOAP::WSDL::SAX::WSDLHandler/);
|
||||
use_ok(qw/SOAP::WSDL::Expat::WSDLParser/);
|
||||
|
||||
my $filter;
|
||||
|
||||
ok($filter = SOAP::WSDL::SAX::WSDLHandler->new(), "Object creation");
|
||||
my $parser;
|
||||
|
||||
my $parser = XML::LibXML->new();
|
||||
$parser->set_handler( $filter );
|
||||
ok($parser = SOAP::WSDL::Expat::WSDLParser->new() );
|
||||
|
||||
eval { $parser->parse_string( xml() ) };
|
||||
if ($@)
|
||||
@@ -24,8 +22,7 @@ else
|
||||
}
|
||||
|
||||
my $wsdl;
|
||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
||||
|
||||
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||
|
||||
my $schema = $wsdl->first_types();
|
||||
|
||||
|
||||
@@ -4,21 +4,16 @@ use warnings;
|
||||
use Test::More tests => 5;
|
||||
use lib '../lib';
|
||||
|
||||
use XML::LibXML;
|
||||
|
||||
eval {
|
||||
require Test::XML;
|
||||
import Test::XML;
|
||||
};
|
||||
|
||||
use_ok(qw/SOAP::WSDL::SAX::WSDLHandler/);
|
||||
use_ok(qw/SOAP::WSDL::Expat::WSDLParser/);
|
||||
|
||||
my $filter;
|
||||
my $parser;
|
||||
|
||||
ok($filter = SOAP::WSDL::SAX::WSDLHandler->new(), "Object creation");
|
||||
|
||||
my $parser = XML::LibXML->new();
|
||||
$parser->set_handler( $filter );
|
||||
ok($parser = SOAP::WSDL::Expat::WSDLParser->new(), "Object creation");
|
||||
|
||||
eval { $parser->parse_string( xml() ) };
|
||||
if ($@)
|
||||
@@ -32,7 +27,7 @@ else
|
||||
}
|
||||
|
||||
my $wsdl;
|
||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
||||
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||
|
||||
my $schema = $wsdl->get_types()->[0]->get_schema()->[0] || die "No schema !";
|
||||
|
||||
|
||||
@@ -4,19 +4,13 @@ use warnings;
|
||||
use Test::More qw/no_plan/; # TODO: change to tests => N;
|
||||
use Data::Dumper;
|
||||
use lib '../lib';
|
||||
use XML::LibXML;
|
||||
|
||||
use diagnostics;
|
||||
|
||||
use_ok(qw/SOAP::WSDL::SAX::WSDLHandler/);
|
||||
use_ok(qw/SOAP::WSDL::Expat::WSDLParser/);
|
||||
|
||||
my $filter;
|
||||
|
||||
ok($filter = SOAP::WSDL::SAX::WSDLHandler->new(), "Object creation");
|
||||
|
||||
my $parser = XML::LibXML->new();
|
||||
$parser->set_handler( $filter );
|
||||
my $parser;
|
||||
|
||||
ok($parser = SOAP::WSDL::Expat::WSDLParser->new(), "Object creation");
|
||||
eval { $parser->parse_string( xml() ) };
|
||||
if ($@)
|
||||
{
|
||||
@@ -29,7 +23,7 @@ else
|
||||
}
|
||||
|
||||
my $wsdl;
|
||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
||||
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||
|
||||
my $opt = {
|
||||
namespace => $wsdl->get_xmlns(),
|
||||
|
||||
@@ -10,7 +10,7 @@ eval {
|
||||
import Test::XML;
|
||||
};
|
||||
|
||||
use_ok qw/SOAP::WSDL::Envelope/;
|
||||
use_ok qw/SOAP::WSDL::Serializer::SOAP11/;
|
||||
|
||||
my $opt = {
|
||||
readable => 1,
|
||||
@@ -18,7 +18,7 @@ my $opt = {
|
||||
},
|
||||
};
|
||||
my $xml;
|
||||
ok( $xml = SOAP::WSDL::Envelope->serialize(
|
||||
ok( $xml = SOAP::WSDL::Serializer::SOAP11->serialize(
|
||||
undef, undef, $opt
|
||||
),
|
||||
"serialize empty envelope"
|
||||
|
||||
@@ -1,30 +1,18 @@
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use warnings;
|
||||
use Test::More;
|
||||
use Test::More tests => 5;
|
||||
use lib '../lib';
|
||||
|
||||
if (eval "require XML::LibXML") {
|
||||
plan tests => 5;
|
||||
}
|
||||
else {
|
||||
plan skip_all => "Cannot test without XML::LibXML";
|
||||
}
|
||||
|
||||
eval {
|
||||
require Test::XML;
|
||||
import Test::XML;
|
||||
};
|
||||
|
||||
use_ok(qw/SOAP::WSDL::SAX::WSDLHandler/);
|
||||
use_ok(qw/SOAP::WSDL::Expat::WSDLParser/);
|
||||
|
||||
my $filter;
|
||||
|
||||
ok($filter = SOAP::WSDL::SAX::WSDLHandler->new(), "Object creation");
|
||||
|
||||
my $parser = XML::LibXML->new();
|
||||
$parser->set_handler( $filter );
|
||||
my $parser;
|
||||
|
||||
ok($parser = SOAP::WSDL::Expat::WSDLParser->new(), "Object creation");
|
||||
eval { $parser->parse_string( xml() ) };
|
||||
if ($@)
|
||||
{
|
||||
@@ -37,7 +25,7 @@ else
|
||||
}
|
||||
|
||||
my $wsdl;
|
||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
||||
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||
|
||||
ok $wsdl->to_typemap( { prefix => 'CP::EAI::Typelib::' } ), 'typemap';
|
||||
exit;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
use Test::More tests => 3;
|
||||
use strict;
|
||||
use warnings;
|
||||
use lib '../lib';
|
||||
|
||||
use_ok('SOAP::WSDL::XSD::Typelib::Builtin::time');
|
||||
my $obj;
|
||||
|
||||
$obj = SOAP::WSDL::XSD::Typelib::Builtin::time->new();
|
||||
|
||||
$obj->set_value( '12:23:03' );
|
||||
is $obj->get_value() , '12:23:03+01:00', 'conversion';
|
||||
|
||||
$obj->set_value( '12:23:03.12345+01:00' ), ;
|
||||
is $obj->get_value() , '12:23:03.12345+01:00', 'no conversion';
|
||||
|
||||
|
||||
|
||||
# exit;
|
||||
|
||||
#~ use Benchmark;
|
||||
#~ timethese 10000, {
|
||||
#~ xml => sub { $obj->set_value('2037-12-31T00:00:00.0000000+01:00') },
|
||||
#~ string => sub { $obj->set_value('2037-12-31') },
|
||||
#~ }
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/usr/bin/perl
|
||||
package MyElement;
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
use SOAP::WSDL::XSD::Typelib::Element;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||
use base (
|
||||
@@ -14,7 +13,6 @@ sub get_xmlns { 'urn:Test' };
|
||||
|
||||
package MyComplexTypeElement;
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
use SOAP::WSDL::XSD::Typelib::Element;
|
||||
use MyComplexType;
|
||||
use base (
|
||||
@@ -27,7 +25,6 @@ sub get_xmlns { 'urn:Test' };
|
||||
|
||||
package MyTestElement;
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
use SOAP::WSDL::XSD::Typelib::Element;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin::string;
|
||||
use base (
|
||||
@@ -36,12 +33,11 @@ use base (
|
||||
);
|
||||
|
||||
__PACKAGE__->__set_name('MyTestElement');
|
||||
|
||||
|
||||
sub get_xmlns { 'urn:Test' };
|
||||
|
||||
package MyTestElement2;
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
use SOAP::WSDL::XSD::Typelib::Element;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||
use base (
|
||||
@@ -57,7 +53,6 @@ sub get_xmlns { 'urn:Test' };
|
||||
package MyAtomicComplexTypeElement;
|
||||
|
||||
use strict;
|
||||
use Class::Std::Storable;
|
||||
use SOAP::WSDL::XSD::Typelib::Element;
|
||||
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
package Typelib::Base;
|
||||
use Class::Std::Storable;
|
||||
use Class::Std::Storable;
|
||||
|
||||
sub mk_add_mutators {
|
||||
my $class = shift;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package Typelib::TEnqueueMessage;
|
||||
use strict;
|
||||
use base qw(Typelib::Base);
|
||||
use Class::Std::Storable;
|
||||
|
||||
my %MMessage_of :ATTR(:name<MMessage> :default<()>);
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package Typelib::TMessage;
|
||||
use strict;
|
||||
use base qw(Typelib::Base);
|
||||
use Class::Std::Storable;
|
||||
|
||||
my %MRecipientURI_of :ATTR(:name<MRecipientURI> :default<()>);
|
||||
my %MMessageContent_of :ATTR(:name<MMessageContent> :default<()>);
|
||||
|
||||
Reference in New Issue
Block a user