Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fd0854e34a |
@@ -4,7 +4,7 @@ Module::Build->new(
|
|||||||
create_makefile_pl => 'passthrough',
|
create_makefile_pl => 'passthrough',
|
||||||
dist_abstract => 'SOAP with WSDL support',
|
dist_abstract => 'SOAP with WSDL support',
|
||||||
dist_name => 'SOAP-WSDL',
|
dist_name => 'SOAP-WSDL',
|
||||||
dist_version => '2.00_11',
|
dist_version => '2.00_12',
|
||||||
module_name => 'SOAP::WSDL',
|
module_name => 'SOAP::WSDL',
|
||||||
license => 'artistic',
|
license => 'artistic',
|
||||||
requires => {
|
requires => {
|
||||||
|
|||||||
@@ -1,778 +1,122 @@
|
|||||||
------------------------------------------------------------------------
|
Release notes for SOAP::WSDL 2.00_12
|
||||||
r176 | kutterma | 2007-08-31 17:28:29 +0200 (Fr, 31 Aug 2007) | 2 lines
|
-------
|
||||||
|
|
||||||
- set SVN keywords
|
I'm very happy to present a new pre-release version of SOAP::WSDL.
|
||||||
- updated docs
|
|
||||||
------------------------------------------------------------------------
|
SOAP::WSDL is a toolkit for creating SOAP interfaces in perl.
|
||||||
r175 | kutterma | 2007-08-31 17:05:42 +0200 (Fr, 31 Aug 2007) | 6 lines
|
|
||||||
|
Features:
|
||||||
- modified SOAP::WSDL::Client to allow passing the SOAPAction header to call()
|
|
||||||
- modified SOAP::WSDL::Definitions's generator to emit interfaces which include
|
* WSDL based SOAP client
|
||||||
soap_action and style information for every operation
|
o SOAP1.1 support
|
||||||
- re-generated GetWeather example interface
|
o Supports document/literal message style/encoding
|
||||||
- fixed wsdl2perl.pl (typo)
|
* 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.
|
||||||
r174 | kutterma | 2007-08-31 15:49:04 +0200 (Fr, 31 Aug 2007) | 2 lines
|
o Automatically encodes perl data structures as message data
|
||||||
|
o Automatically sets HTTP headers right
|
||||||
- SOAPAction header is now always quoted.
|
* SOAP::Lite like look and feel.
|
||||||
- updated docs
|
o Where possible, SOAP::WSDL mimics SOAP::Lite's API to allow easy migrations
|
||||||
------------------------------------------------------------------------
|
* XML schema based class library for creating data objects
|
||||||
r173 | kutterma | 2007-08-31 15:48:10 +0200 (Fr, 31 Aug 2007) | 1 line
|
* High-performance XML parser
|
||||||
|
* Plugin support. SOAP::WSDL can be extended through plugins in various aspects.
|
||||||
- added WS-I basic profile compliance docs. Looks like we're far from being compliant...
|
The following plugins are supported:
|
||||||
------------------------------------------------------------------------
|
o Transport plugins via SOAP::WSDL::Factory::Transport
|
||||||
r172 | kutterma | 2007-08-30 22:58:41 +0200 (Do, 30 Aug 2007) | 1 line
|
o Serializer plugins via SOAP::WSDL::Factory::Serializer
|
||||||
|
|
||||||
- updated TODO list
|
|
||||||
------------------------------------------------------------------------
|
The following changes have been made:
|
||||||
r170 | kutterma | 2007-08-30 22:32:56 +0200 (Do, 30 Aug 2007) | 1 line
|
|
||||||
|
2.00_12
|
||||||
- added RELEASE_NOTES
|
----
|
||||||
------------------------------------------------------------------------
|
|
||||||
r169 | kutterma | 2007-08-30 21:33:50 +0200 (Do, 30 Aug 2007) | 1 line
|
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):
|
||||||
- fixed SOAP11 serializer package name
|
|
||||||
------------------------------------------------------------------------
|
* [1787146] SOAP::WSDL still uses XML::LibXML
|
||||||
r168 | kutterma | 2007-08-30 21:32:39 +0200 (Do, 30 Aug 2007) | 4 lines
|
The superficious usage of XML::LibXML has been removed. XML::LibXML with
|
||||||
|
sax filter has been replaced by SOAP::WSDL::Expat::WSDLParser.
|
||||||
- added Serializer factory
|
|
||||||
- modified client to use serializer
|
* [1787054] Test suite requires XML::LibXML in 2.00_11
|
||||||
- moved old SOAP::WSDL::Envelope into Serializer namespace
|
The test suite no longer requires XML::LibXML to pass.
|
||||||
- moved Tranport factory into Factory namespace
|
|
||||||
------------------------------------------------------------------------
|
2.00_11
|
||||||
r167 | kutterma | 2007-08-30 21:30:17 +0200 (Do, 30 Aug 2007) | 1 line
|
----
|
||||||
|
|
||||||
- fixed Envelope to comply to new serializer scheme
|
The following features were added (the numbers in square brackets are the
|
||||||
------------------------------------------------------------------------
|
tracker IDs from https://sourceforge.net/tracker/?group_id=111978&atid=660924):
|
||||||
r166 | kutterma | 2007-08-30 18:44:48 +0200 (Do, 30 Aug 2007) | 1 line
|
|
||||||
|
* [1767963] Transport plugins via SOAP::WSDL::Factory::Transport.
|
||||||
- re-fixed Transport factory
|
SOAP::WSDL uses SOAP::Lite's tranport modules as default, with a
|
||||||
------------------------------------------------------------------------
|
lightweight HTTP(S) transport plugin as fallback.
|
||||||
r165 | kutterma | 2007-08-30 18:43:36 +0200 (Do, 30 Aug 2007) | 1 line
|
Custom transport modules can be registered via SOAP::WSDL::Factory::Transport.
|
||||||
|
|
||||||
- added HTTP Transport class (really)
|
* [ 1772730 ] Serializer plugins via SOAP::WSDL::Factory::Serializer
|
||||||
------------------------------------------------------------------------
|
The default serializer for SOAP1.1 is SOAP::WSDL::Serializer::SOAP11.
|
||||||
r164 | kutterma | 2007-08-30 14:38:47 +0200 (Do, 30 Aug 2007) | 1 line
|
Custom serializers classes can be registered via
|
||||||
|
SOAP::WSDL::Factory::Serializer or set via SOAP::WSDL's set_serializer
|
||||||
- first try at serializer factory.
|
method.
|
||||||
------------------------------------------------------------------------
|
|
||||||
r163 | kutterma | 2007-08-30 10:34:00 +0200 (Do, 30 Aug 2007) | 1 line
|
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):
|
||||||
- updated docs (reference to homepage and forum)
|
|
||||||
------------------------------------------------------------------------
|
* [ 1764854 ] Port WSDL parser to expat and remove XML::LibXML dependency
|
||||||
r162 | kutterma | 2007-08-30 10:29:49 +0200 (Do, 30 Aug 2007) | 1 line
|
SOAP::WSDL now requires only XML::Parser to be installed.
|
||||||
|
XML::LibXML is not required any more, though XML::LibXML based modules still
|
||||||
- updated docs
|
exist.
|
||||||
------------------------------------------------------------------------
|
|
||||||
r161 | kutterma | 2007-08-30 10:17:28 +0200 (Do, 30 Aug 2007) | 2 lines
|
The following uncategorized improvements have been made
|
||||||
|
|
||||||
- modified client to use SOAP::WSDL::Transport factory
|
* The number of dependencies has been reduced. SOAP::WSDL no longer requires the
|
||||||
- fixed SOAP::WSDL::Transport factory
|
following modules to be installed:
|
||||||
------------------------------------------------------------------------
|
- XML::SAX::Base
|
||||||
r160 | kutterma | 2007-08-30 00:20:09 +0200 (Do, 30 Aug 2007) | 1 line
|
- XML::SAX::ParserFactory
|
||||||
|
- Pod::Simple::Text
|
||||||
- added weird SOAP::Lite nameing scheme to registered && SOAP::Lite Transport instantiations
|
- XML::LibXML
|
||||||
------------------------------------------------------------------------
|
|
||||||
r159 | kutterma | 2007-08-30 00:00:15 +0200 (Do, 30 Aug 2007) | 1 line
|
* The missing prerequisite Template has been added.
|
||||||
|
* Documentation has been improved.
|
||||||
- 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
|
2.00_10
|
||||||
|
----
|
||||||
- updated TODO list
|
* Changed Makefile.PL to use Module::Build (passthrough mode)
|
||||||
------------------------------------------------------------------------
|
* fixed element ref="" handling
|
||||||
r153 | kutterma | 2007-08-29 11:24:40 +0200 (Mi, 29 Aug 2007) | 4 lines
|
|
||||||
|
2.00_09
|
||||||
- removed XML::LibXML dependencies (is now required, not used in test scripts)
|
----
|
||||||
- fixed WSDLParser to switch on expat namespace support when parsing files
|
* SOAP::WSDL::XSD::Typelib::Builtin::boolean objects now return their numerical
|
||||||
- added expat based tests ported from XML::LibXML based WSDL parser tests
|
value in bool context, not "true" or "false" (always true...)
|
||||||
- updated docs
|
* date/time test are now timezone-sensitive
|
||||||
------------------------------------------------------------------------
|
* examples added
|
||||||
r152 | kutterma | 2007-08-28 23:28:06 +0200 (Di, 28 Aug 2007) | 3 lines
|
|
||||||
|
2.00_08
|
||||||
- updated Build.PL
|
---
|
||||||
- updated CHANGES
|
* SOAP::WSDL::XSD::Typelib::ComplexType objects now check the class of their
|
||||||
- updated MANIFEST
|
child objects.
|
||||||
------------------------------------------------------------------------
|
This provides early feedback to developers.
|
||||||
r151 | kutterma | 2007-08-28 23:07:14 +0200 (Di, 28 Aug 2007) | 1 line
|
* SOAP message parser can skip unwanted parts of the message to improve parsing
|
||||||
|
speed - see SOAP::WSDL::Expat::MessageParser for details.
|
||||||
- fixed namespace test
|
* HTTP Content-Type is configurable
|
||||||
------------------------------------------------------------------------
|
* SOAP::WSDL::XSD::Typelib::ComplexType based objects accept any combination of
|
||||||
r150 | kutterma | 2007-08-28 23:06:00 +0200 (Di, 28 Aug 2007) | 1 line
|
hash refs, list refs and objects as parameter to set_value() and new().
|
||||||
|
* SOAP::WSDL::XSD::Typelib::Builtin::dateTime and ::date convert date
|
||||||
- renamed tests to better meet their content
|
strings into XML date strings
|
||||||
------------------------------------------------------------------------
|
* SOAP::WSDL::Definitions::create now
|
||||||
r149 | kutterma | 2007-08-28 23:03:30 +0200 (Di, 28 Aug 2007) | 1 line
|
- converts '.' in service names to '::' (.NET class separator to perl class
|
||||||
|
separator)
|
||||||
- cleanup
|
- outputs Typemaps and Interface classes in UTF8 to allow proper inclusion
|
||||||
------------------------------------------------------------------------
|
of UTF8 documentation from WSDL
|
||||||
r148 | kutterma | 2007-08-28 23:02:01 +0200 (Di, 28 Aug 2007) | 2 lines
|
* SOAP::WSDL::Definitions::create() includes doc in generated interface classes
|
||||||
|
* WSDLHandler now handles <wsdl:documentation> tags
|
||||||
- added namespace test
|
* fixed explain in SimpleType, ComplexType and Element
|
||||||
- removed SAX handler from usage test
|
|
||||||
------------------------------------------------------------------------
|
2.00_07 and below
|
||||||
r147 | kutterma | 2007-08-28 22:57:48 +0200 (Di, 28 Aug 2007) | 1 line
|
---
|
||||||
|
* Implemented a Code generator for creating SOAP interfaces based on WSDL definitions
|
||||||
- added namespace support
|
* Implemented a high-speed stream based SOAP message parser
|
||||||
------------------------------------------------------------------------
|
SOAP message parser returns a objects based on XML schema based class library
|
||||||
r146 | kutterma | 2007-08-28 21:56:35 +0200 (Di, 28 Aug 2007) | 1 line
|
* Implemented a XML schema based class library
|
||||||
|
* Implemented a stream based WSDL parser.
|
||||||
- removed POD directive from template, so the CPAN indexer won't show it...
|
Parses WSDL into objects. Objects can serialize data, and explain how to use the
|
||||||
------------------------------------------------------------------------
|
service(s) they make up (output documentation).
|
||||||
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
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
benchmark/01_expat.t
|
||||||
bin/wsdl2perl.pl
|
bin/wsdl2perl.pl
|
||||||
Build.PL
|
Build.PL
|
||||||
CHANGES
|
CHANGES
|
||||||
@@ -22,7 +23,6 @@ example/lib/MyTypemaps/FullerData_x0020_Fortune_x0020_Cookie.pm
|
|||||||
example/lib/MyTypemaps/GlobalWeather.pm
|
example/lib/MyTypemaps/GlobalWeather.pm
|
||||||
example/weather.pl
|
example/weather.pl
|
||||||
example/weather_wsdl.pl
|
example/weather_wsdl.pl
|
||||||
example/weather_xml_compile.pl
|
|
||||||
example/wsdl/FortuneCookie.xml
|
example/wsdl/FortuneCookie.xml
|
||||||
example/wsdl/genericbarcode.xml
|
example/wsdl/genericbarcode.xml
|
||||||
example/wsdl/globalweather.xml
|
example/wsdl/globalweather.xml
|
||||||
@@ -42,7 +42,7 @@ lib/SOAP/WSDL/Factory/Serializer.pm
|
|||||||
lib/SOAP/WSDL/Factory/Transport.pm
|
lib/SOAP/WSDL/Factory/Transport.pm
|
||||||
lib/SOAP/WSDL/Manual.pod
|
lib/SOAP/WSDL/Manual.pod
|
||||||
lib/SOAP/WSDL/Manual/Glossary.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/Message.pm
|
||||||
lib/SOAP/WSDL/Operation.pm
|
lib/SOAP/WSDL/Operation.pm
|
||||||
lib/SOAP/WSDL/OpMessage.pm
|
lib/SOAP/WSDL/OpMessage.pm
|
||||||
@@ -50,7 +50,6 @@ lib/SOAP/WSDL/Parser.pod
|
|||||||
lib/SOAP/WSDL/Part.pm
|
lib/SOAP/WSDL/Part.pm
|
||||||
lib/SOAP/WSDL/Port.pm
|
lib/SOAP/WSDL/Port.pm
|
||||||
lib/SOAP/WSDL/PortType.pm
|
lib/SOAP/WSDL/PortType.pm
|
||||||
lib/SOAP/WSDL/RELEASE_NOTES
|
|
||||||
lib/SOAP/WSDL/SAX/MessageHandler.pm
|
lib/SOAP/WSDL/SAX/MessageHandler.pm
|
||||||
lib/SOAP/WSDL/SAX/WSDLHandler.pm
|
lib/SOAP/WSDL/SAX/WSDLHandler.pm
|
||||||
lib/SOAP/WSDL/Serializer/SOAP11.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/12_binding.pl
|
||||||
t/SOAP/WSDL/XSD/Typelib/Builtin/001_string.t
|
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_dateTime.t
|
||||||
t/SOAP/WSDL/XSD/Typelib/Builtin/002_time.t
|
|
||||||
t/SOAP/WSDL/XSD/Typelib/Builtin/003_date.t
|
t/SOAP/WSDL/XSD/Typelib/Builtin/003_date.t
|
||||||
TODO
|
TODO
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
name: SOAP-WSDL
|
name: SOAP-WSDL
|
||||||
version: 2.00_11
|
version: 2.00_12
|
||||||
author:
|
author:
|
||||||
abstract: SOAP with WSDL support
|
abstract: SOAP with WSDL support
|
||||||
license: artistic
|
license: artistic
|
||||||
@@ -23,13 +23,14 @@ meta-spec:
|
|||||||
provides:
|
provides:
|
||||||
SOAP::WSDL:
|
SOAP::WSDL:
|
||||||
file: lib/SOAP/WSDL.pm
|
file: lib/SOAP/WSDL.pm
|
||||||
version: 2.00_10
|
version: 2.00_12
|
||||||
SOAP::WSDL::Base:
|
SOAP::WSDL::Base:
|
||||||
file: lib/SOAP/WSDL/Base.pm
|
file: lib/SOAP/WSDL/Base.pm
|
||||||
SOAP::WSDL::Binding:
|
SOAP::WSDL::Binding:
|
||||||
file: lib/SOAP/WSDL/Binding.pm
|
file: lib/SOAP/WSDL/Binding.pm
|
||||||
SOAP::WSDL::Client:
|
SOAP::WSDL::Client:
|
||||||
file: lib/SOAP/WSDL/Client.pm
|
file: lib/SOAP/WSDL/Client.pm
|
||||||
|
version: 2.00_12
|
||||||
SOAP::WSDL::Client::Base:
|
SOAP::WSDL::Client::Base:
|
||||||
file: lib/SOAP/WSDL/Client/Base.pm
|
file: lib/SOAP/WSDL/Client/Base.pm
|
||||||
SOAP::WSDL::Definitions:
|
SOAP::WSDL::Definitions:
|
||||||
|
|||||||
@@ -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;
|
|
||||||
+6
-10
@@ -5,13 +5,11 @@ use vars qw($AUTOLOAD);
|
|||||||
use Carp;
|
use Carp;
|
||||||
use Scalar::Util qw(blessed);
|
use Scalar::Util qw(blessed);
|
||||||
use SOAP::WSDL::Client;
|
use SOAP::WSDL::Client;
|
||||||
use SOAP::WSDL::Envelope;
|
use SOAP::WSDL::Expat::WSDLParser;
|
||||||
use SOAP::WSDL::SAX::WSDLHandler;
|
|
||||||
use Class::Std;
|
use Class::Std;
|
||||||
use XML::LibXML;
|
|
||||||
use LWP::UserAgent;
|
use LWP::UserAgent;
|
||||||
|
|
||||||
our $VERSION='2.00_10';
|
our $VERSION='2.00_12';
|
||||||
|
|
||||||
my %no_dispatch_of :ATTR(:name<no_dispatch>);
|
my %no_dispatch_of :ATTR(:name<no_dispatch>);
|
||||||
my %wsdl_of :ATTR(:name<wsdl>);
|
my %wsdl_of :ATTR(:name<wsdl>);
|
||||||
@@ -98,13 +96,11 @@ sub wsdlinit {
|
|||||||
croak $response->message() if ($response->code != 200);
|
croak $response->message() if ($response->code != 200);
|
||||||
|
|
||||||
# TODO: Port parser to expat and remove XML::LibXML dependency
|
# TODO: Port parser to expat and remove XML::LibXML dependency
|
||||||
my $parser = XML::LibXML->new();
|
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||||
my $filter = SOAP::WSDL::SAX::WSDLHandler->new();
|
|
||||||
$parser->set_handler( $filter );
|
|
||||||
$parser->parse_string( $response->content() );
|
$parser->parse_string( $response->content() );
|
||||||
|
|
||||||
# sanity checks
|
# 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()
|
my $types = $wsdl_definitions->first_types()
|
||||||
or die "unable to extract schema from WSDL";
|
or die "unable to extract schema from WSDL";
|
||||||
my $ns = $wsdl_definitions->get_xmlns()
|
my $ns = $wsdl_definitions->get_xmlns()
|
||||||
@@ -662,9 +658,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 176 $
|
$Rev: 188 $
|
||||||
$LastChangedBy: kutterma $
|
$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 $
|
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ use SOAP::WSDL::Factory::Transport;
|
|||||||
use SOAP::WSDL::Expat::MessageParser;
|
use SOAP::WSDL::Expat::MessageParser;
|
||||||
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
use SOAP::WSDL::SOAP::Typelib::Fault11;
|
||||||
|
|
||||||
|
our $VERSION='2.00_12';
|
||||||
|
|
||||||
# Package global for speed and memory savings.
|
# Package global for speed and memory savings.
|
||||||
# But should be factored out into serializer/deserializer...
|
# But should be factored out into serializer/deserializer...
|
||||||
my $PARSER;
|
my $PARSER;
|
||||||
@@ -381,9 +383,9 @@ Martin Kutter E<lt>martin.kutter fen-net.deE<gt>
|
|||||||
|
|
||||||
=head1 REPOSITORY INFORMATION
|
=head1 REPOSITORY INFORMATION
|
||||||
|
|
||||||
$Rev: 176 $
|
$Rev: 188 $
|
||||||
$LastChangedBy: kutterma $
|
$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 $
|
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ use XML::Parser::Expat;
|
|||||||
sub new {
|
sub new {
|
||||||
my ($class, $args) = @_;
|
my ($class, $args) = @_;
|
||||||
my $self = {
|
my $self = {
|
||||||
class_resolver => $args->{ class_resolver }
|
class_resolver => $args->{ class_resolver },
|
||||||
};
|
};
|
||||||
bless $self, $class;
|
bless $self, $class;
|
||||||
return $self;
|
return $self;
|
||||||
@@ -20,9 +20,9 @@ sub class_resolver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub _initialize {
|
sub _initialize {
|
||||||
my ($self, $parser) = @_;
|
my ($self, $parser) = @_;
|
||||||
|
|
||||||
delete $self->{ data };
|
delete $self->{ data }; # remove potential old results
|
||||||
|
|
||||||
my $characters;
|
my $characters;
|
||||||
my $current = undef;
|
my $current = undef;
|
||||||
@@ -45,6 +45,14 @@ sub _initialize {
|
|||||||
|
|
||||||
# ignore top level 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 };
|
shift @{ $ignore };
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -55,7 +63,7 @@ sub _initialize {
|
|||||||
# resolve class of this element
|
# resolve class of this element
|
||||||
$_class = $self->{ class_resolver }->get_class( $path )
|
$_class = $self->{ class_resolver }->get_class( $path )
|
||||||
or die "Cannot resolve class for "
|
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 (...)" ?
|
# maybe write as "return $skip = join ... if (...)" ?
|
||||||
# would save a BLOCK...
|
# would save a BLOCK...
|
||||||
@@ -71,13 +79,15 @@ sub _initialize {
|
|||||||
# if $class matches...
|
# if $class matches...
|
||||||
|
|
||||||
if (index $_class, 'SOAP::WSDL::XSD::Typelib::Builtin', 0 < 0) {
|
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
|
# If not, require it - all classes required here MUST
|
||||||
# define new()
|
# define new()
|
||||||
# This is the same as $class->can('new'), but it's way faster
|
# This is not exactly the same as $class->can('new'), but it's way faster
|
||||||
*{ "$_class\::new" }{ CODE }
|
defined *{ "$_class\::new" }{ CODE }
|
||||||
|
or scalar @{ *{ "$_class\::ISA" }{ ARRAY } }
|
||||||
or eval "require $_class" ## no critic qw(ProhibitStringyEval)
|
or eval "require $_class" ## no critic qw(ProhibitStringyEval)
|
||||||
or die $@;
|
or die $@;
|
||||||
}
|
}
|
||||||
|
|
||||||
$current = $_class->new({ %_attrs }); # set new current object
|
$current = $_class->new({ %_attrs }); # set new current object
|
||||||
@@ -208,8 +218,8 @@ This module may be used under the same terms as perl itself.
|
|||||||
|
|
||||||
$ID: $
|
$ID: $
|
||||||
|
|
||||||
$LastChangedDate: 2007-08-31 17:28:29 +0200 (Fr, 31 Aug 2007) $
|
$LastChangedDate: 2007-09-02 21:05:18 +0200 (So, 02 Sep 2007) $
|
||||||
$LastChangedRevision: 176 $
|
$LastChangedRevision: 184 $
|
||||||
$LastChangedBy: kutterma $
|
$LastChangedBy: kutterma $
|
||||||
|
|
||||||
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
|
$HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Expat/MessageParser.pm $
|
||||||
|
|||||||
@@ -35,9 +35,6 @@ the service's interface structure.
|
|||||||
The results of all calls to your service object's methods (except new)
|
The results of all calls to your service object's methods (except new)
|
||||||
are objects based on SOAP::WSDL's XML schema implementation.
|
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
|
To access the object's properties use get_NAME / set_NAME getter/setter
|
||||||
methods whith NAME corresponding to the XML tag name.
|
methods whith NAME corresponding to the XML tag name.
|
||||||
|
|
||||||
|
|||||||
+12
-11
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
=head1 NAME
|
=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
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
@@ -294,6 +294,17 @@ SOAP::WSDL::Client always assures the SOAPaction header is quoted, thus
|
|||||||
automatically inserts the empty string if no SOAPAction header is defined.
|
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
|
=head1 RULES NOT CONFIRMED
|
||||||
|
|
||||||
@@ -347,16 +358,6 @@ However, rpc-literal bindings are not supported, yet.
|
|||||||
|
|
||||||
TODO support rpc-literal bindings.
|
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
|
=head2 R2008
|
||||||
|
|
||||||
In a DESCRIPTION the value of the location attribute of a wsdl:import element
|
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';
|
my $template = <<'EOT';
|
||||||
package [% type_prefix %][% self.get_name %];
|
package [% type_prefix %][% self.get_name %];
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
||||||
use base qw(
|
use base qw(
|
||||||
SOAP::WSDL::XSD::Typelib::ComplexType
|
SOAP::WSDL::XSD::Typelib::ComplexType
|
||||||
|
|||||||
@@ -244,7 +244,7 @@ sub to_class {
|
|||||||
my $template = <<'EOT';
|
my $template = <<'EOT';
|
||||||
package [% element_prefix %][% self.get_name %];
|
package [% element_prefix %][% self.get_name %];
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Element;
|
use SOAP::WSDL::XSD::Typelib::Element;
|
||||||
|
|
||||||
[% IF (type = self.first_simpleType) %]
|
[% IF (type = self.first_simpleType) %]
|
||||||
|
|||||||
@@ -37,29 +37,20 @@ BEGIN {
|
|||||||
sub set_value {
|
sub set_value {
|
||||||
# use set_value from base class if we have a XML-DateTime format
|
# use set_value from base class if we have a XML-DateTime format
|
||||||
#2037-12-31T00:00:00.0000000+01:00
|
#2037-12-31T00:00:00.0000000+01:00
|
||||||
if (
|
return $_[0]->SUPER::set_value($_[1]) if (
|
||||||
$_[1] =~ m{ ^\d{4} \- \d{2} \- \d{2}
|
$_[1] =~ m{ ^\d{4} \- \d{2} \- \d{2}
|
||||||
T \d{2} \: \d{2} \: \d{2} (:? \. \d{1,7} )?
|
T \d{2} \: \d{2} \: \d{2} (:? \. \d{1,7} )?
|
||||||
[\+\-] \d{2} \: \d{2} $
|
[\+\-] \d{2} \: \d{2} $
|
||||||
}xms
|
}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];
|
|
||||||
|
|
||||||
my $time_str = strftime( '%Y-%m-%dT%H:%M:%S%z', @time_from );
|
# strptime sets empty values to undef - and strftime doesn't like that...
|
||||||
substr $time_str, -2, 0, ':';
|
my @time_from = map { ! defined $_ ? 0 : $_ } strptime($_[1]);
|
||||||
$_[0]->SUPER::set_value($time_str);
|
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Carp;
|
use Carp;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||||
use Scalar::Util qw(blessed);
|
use Scalar::Util qw(blessed refaddr);
|
||||||
use Class::Std::Storable;
|
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
use Class::Std::Storable;
|
||||||
|
|
||||||
use base qw(SOAP::WSDL::XSD::Typelib::Builtin::anyType);
|
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');
|
my $is_list = $type->isa('SOAP::WSDL::XSD::Typelib::Builtin::list');
|
||||||
|
|
||||||
*{ "$class\::set_$name" } = sub {
|
*{ "$class\::set_$name" } = sub {
|
||||||
my ($self, $value) = @_;
|
# my ($self, $value) = @_;
|
||||||
|
|
||||||
# The structure below looks rather weird, but is optimized for performance.
|
# 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.
|
# 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 !
|
# 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;
|
my $is_ref = ref $_[1];
|
||||||
$attribute_ref->{ ident $self } = ($is_ref)
|
$attribute_ref->{ ident $_[0] } = ($is_ref)
|
||||||
? $is_ref eq 'ARRAY'
|
? $is_ref eq 'ARRAY'
|
||||||
? $is_list # remembered from outside closure
|
? $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 {
|
: [ map {
|
||||||
ref $_
|
ref $_
|
||||||
? ref $_ eq 'HASH'
|
? ref $_ eq 'HASH'
|
||||||
@@ -106,20 +106,20 @@ sub _factory {
|
|||||||
? $_
|
? $_
|
||||||
: croak "cannot use " . ref($_) . " reference as value for $name - $type required"
|
: croak "cannot use " . ref($_) . " reference as value for $name - $type required"
|
||||||
: $type->new({ value => $_ })
|
: $type->new({ value => $_ })
|
||||||
} @{ $value }
|
} @{ $_[1] }
|
||||||
]
|
]
|
||||||
: $is_ref eq 'HASH'
|
: $is_ref eq 'HASH'
|
||||||
? $type->new( $value )
|
? $type->new( $_[1] )
|
||||||
: $is_ref eq $type
|
: $is_ref eq $type
|
||||||
? $value
|
? $_[1]
|
||||||
: die croak "cannot use $is_ref reference as value for $name - $type required"
|
: 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 {
|
*{ "$class\::add_$name" } = sub {
|
||||||
my $ident = ident $_[0];
|
my $ident = ident $_[0];
|
||||||
warn "attempting to add empty value to " . ref $_[0]
|
warn "attempting to add empty value to " . ref $_[0]
|
||||||
if (not defined $_[1]);
|
if not defined $_[1];
|
||||||
|
|
||||||
# first call
|
# first call
|
||||||
return $attribute_ref->{ $ident } = $_[1]
|
return $attribute_ref->{ $ident } = $_[1]
|
||||||
@@ -133,16 +133,30 @@ sub _factory {
|
|||||||
return push @{ $attribute_ref->{ $ident } }, $_[1];
|
return push @{ $attribute_ref->{ $ident } }, $_[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
*{ "$class\::$name" } = *{ "$class\::add_$name" };
|
||||||
}
|
}
|
||||||
|
|
||||||
*{ "$class\::START" } = sub {
|
*{ "$class\::new" } = sub {
|
||||||
my ($self, $ident, $args_of) = @_;
|
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\::_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
|
# iterate over keys of arguments
|
||||||
# and call set appropriate field in clase
|
# and call set appropriate field in clase
|
||||||
map { ($ATTRIBUTES_OF{ $class }->{ $_ })
|
map { ($ATTRIBUTES_OF{ $class }->{ $_ })
|
||||||
? do {
|
? do {
|
||||||
my $method = "set_$_";
|
my $method = "set_$_";
|
||||||
$self->$method( $args_of->{ $_ } );
|
$_[0]->$method( $_[2]->{ $_ } ); # ( $args_of->{ $_ } );
|
||||||
}
|
}
|
||||||
: $_ =~ m{ \A # beginning of string
|
: $_ =~ m{ \A # beginning of string
|
||||||
xmlns # xmlns
|
xmlns # xmlns
|
||||||
@@ -152,8 +166,8 @@ sub _factory {
|
|||||||
croak "unknown field $_ in $class. Valid fields are:\n"
|
croak "unknown field $_ in $class. Valid fields are:\n"
|
||||||
. join(', ', @{ $ELEMENTS_FROM{ $class } }) . "\n"
|
. join(', ', @{ $ELEMENTS_FROM{ $class } }) . "\n"
|
||||||
. "Structure given:\n" . Dumper @_ };
|
. "Structure given:\n" . Dumper @_ };
|
||||||
} keys %$args_of;
|
} keys %{ $_[2] }; # %$args_of;
|
||||||
return $self;
|
return $_[0]; # $self;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
package SOAP::WSDL::XSD::Typelib::Element;
|
package SOAP::WSDL::XSD::Typelib::Element;
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use Data::Dumper;
|
|
||||||
|
|
||||||
my %NAME;
|
my %NAME;
|
||||||
my %NILLABLE;
|
my %NILLABLE;
|
||||||
|
|||||||
+4
-10
@@ -1,30 +1,24 @@
|
|||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Test::More tests => 18; # qw/no_plan/; # TODO: change to tests => N;
|
use Test::More tests => 17;
|
||||||
use lib '../lib';
|
use lib '../lib';
|
||||||
|
|
||||||
use XML::LibXML;
|
|
||||||
|
|
||||||
eval {
|
eval {
|
||||||
require Test::XML;
|
require Test::XML;
|
||||||
import Test::XML;
|
import Test::XML;
|
||||||
};
|
};
|
||||||
|
|
||||||
use_ok(qw/SOAP::WSDL::SAX::WSDLHandler/);
|
use_ok(qw/SOAP::WSDL::Expat::WSDLParser/);
|
||||||
|
|
||||||
my $filter;
|
my $filter;
|
||||||
|
|
||||||
ok($filter = SOAP::WSDL::SAX::WSDLHandler->new(
|
my $parser = SOAP::WSDL::Expat::WSDLParser->new();
|
||||||
), "Object creation");
|
|
||||||
|
|
||||||
my $parser = XML::LibXML->new();
|
|
||||||
$parser->set_handler( $filter );
|
|
||||||
|
|
||||||
$parser->parse_string( xml() );
|
$parser->parse_string( xml() );
|
||||||
|
|
||||||
my $wsdl;
|
my $wsdl;
|
||||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||||
|
|
||||||
my $types = $wsdl->first_types();
|
my $types = $wsdl->first_types();
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
use Test::More tests => 11;
|
use Test::More tests => 11;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use lib '../lib';
|
use lib '../lib';
|
||||||
use XML::LibXML;
|
|
||||||
|
|
||||||
use_ok(qw/SOAP::WSDL::SAX::WSDLHandler/);
|
use_ok(qw/SOAP::WSDL::Expat::WSDLParser/);
|
||||||
|
|
||||||
my $filter;
|
my $filter;
|
||||||
|
|
||||||
ok($filter = SOAP::WSDL::SAX::WSDLHandler->new(), "Object creation");
|
my $parser;
|
||||||
|
|
||||||
my $parser = XML::LibXML->new();
|
ok($parser = SOAP::WSDL::Expat::WSDLParser->new() );
|
||||||
$parser->set_handler( $filter );
|
|
||||||
|
|
||||||
eval { $parser->parse_string( xml() ) };
|
eval { $parser->parse_string( xml() ) };
|
||||||
if ($@)
|
if ($@)
|
||||||
@@ -24,8 +22,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $wsdl;
|
my $wsdl;
|
||||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||||
|
|
||||||
|
|
||||||
my $schema = $wsdl->first_types();
|
my $schema = $wsdl->first_types();
|
||||||
|
|
||||||
|
|||||||
+4
-9
@@ -4,21 +4,16 @@ use warnings;
|
|||||||
use Test::More tests => 5;
|
use Test::More tests => 5;
|
||||||
use lib '../lib';
|
use lib '../lib';
|
||||||
|
|
||||||
use XML::LibXML;
|
|
||||||
|
|
||||||
eval {
|
eval {
|
||||||
require Test::XML;
|
require Test::XML;
|
||||||
import 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");
|
ok($parser = SOAP::WSDL::Expat::WSDLParser->new(), "Object creation");
|
||||||
|
|
||||||
my $parser = XML::LibXML->new();
|
|
||||||
$parser->set_handler( $filter );
|
|
||||||
|
|
||||||
eval { $parser->parse_string( xml() ) };
|
eval { $parser->parse_string( xml() ) };
|
||||||
if ($@)
|
if ($@)
|
||||||
@@ -32,7 +27,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $wsdl;
|
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 !";
|
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 Test::More qw/no_plan/; # TODO: change to tests => N;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
use lib '../lib';
|
use lib '../lib';
|
||||||
use XML::LibXML;
|
|
||||||
|
|
||||||
use diagnostics;
|
use diagnostics;
|
||||||
|
|
||||||
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() ) };
|
eval { $parser->parse_string( xml() ) };
|
||||||
if ($@)
|
if ($@)
|
||||||
{
|
{
|
||||||
@@ -29,7 +23,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $wsdl;
|
my $wsdl;
|
||||||
ok( $wsdl = $filter->get_data() , "get object tree");
|
ok( $wsdl = $parser->get_data() , "get object tree");
|
||||||
|
|
||||||
my $opt = {
|
my $opt = {
|
||||||
namespace => $wsdl->get_xmlns(),
|
namespace => $wsdl->get_xmlns(),
|
||||||
|
|||||||
+2
-2
@@ -10,7 +10,7 @@ eval {
|
|||||||
import Test::XML;
|
import Test::XML;
|
||||||
};
|
};
|
||||||
|
|
||||||
use_ok qw/SOAP::WSDL::Envelope/;
|
use_ok qw/SOAP::WSDL::Serializer::SOAP11/;
|
||||||
|
|
||||||
my $opt = {
|
my $opt = {
|
||||||
readable => 1,
|
readable => 1,
|
||||||
@@ -18,7 +18,7 @@ my $opt = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
my $xml;
|
my $xml;
|
||||||
ok( $xml = SOAP::WSDL::Envelope->serialize(
|
ok( $xml = SOAP::WSDL::Serializer::SOAP11->serialize(
|
||||||
undef, undef, $opt
|
undef, undef, $opt
|
||||||
),
|
),
|
||||||
"serialize empty envelope"
|
"serialize empty envelope"
|
||||||
|
|||||||
+5
-17
@@ -1,30 +1,18 @@
|
|||||||
#!/usr/bin/perl -w
|
#!/usr/bin/perl -w
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Test::More;
|
use Test::More tests => 5;
|
||||||
use lib '../lib';
|
use lib '../lib';
|
||||||
|
|
||||||
if (eval "require XML::LibXML") {
|
|
||||||
plan tests => 5;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
plan skip_all => "Cannot test without XML::LibXML";
|
|
||||||
}
|
|
||||||
|
|
||||||
eval {
|
eval {
|
||||||
require Test::XML;
|
require Test::XML;
|
||||||
import 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() ) };
|
eval { $parser->parse_string( xml() ) };
|
||||||
if ($@)
|
if ($@)
|
||||||
{
|
{
|
||||||
@@ -37,7 +25,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
my $wsdl;
|
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';
|
ok $wsdl->to_typemap( { prefix => 'CP::EAI::Typelib::' } ), 'typemap';
|
||||||
exit;
|
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
|
#!/usr/bin/perl
|
||||||
package MyElement;
|
package MyElement;
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Element;
|
use SOAP::WSDL::XSD::Typelib::Element;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||||
use base (
|
use base (
|
||||||
@@ -14,7 +13,6 @@ sub get_xmlns { 'urn:Test' };
|
|||||||
|
|
||||||
package MyComplexTypeElement;
|
package MyComplexTypeElement;
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Element;
|
use SOAP::WSDL::XSD::Typelib::Element;
|
||||||
use MyComplexType;
|
use MyComplexType;
|
||||||
use base (
|
use base (
|
||||||
@@ -27,7 +25,6 @@ sub get_xmlns { 'urn:Test' };
|
|||||||
|
|
||||||
package MyTestElement;
|
package MyTestElement;
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Element;
|
use SOAP::WSDL::XSD::Typelib::Element;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin::string;
|
use SOAP::WSDL::XSD::Typelib::Builtin::string;
|
||||||
use base (
|
use base (
|
||||||
@@ -41,7 +38,6 @@ sub get_xmlns { 'urn:Test' };
|
|||||||
|
|
||||||
package MyTestElement2;
|
package MyTestElement2;
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Element;
|
use SOAP::WSDL::XSD::Typelib::Element;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||||
use base (
|
use base (
|
||||||
@@ -57,7 +53,6 @@ sub get_xmlns { 'urn:Test' };
|
|||||||
package MyAtomicComplexTypeElement;
|
package MyAtomicComplexTypeElement;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use Class::Std::Storable;
|
|
||||||
use SOAP::WSDL::XSD::Typelib::Element;
|
use SOAP::WSDL::XSD::Typelib::Element;
|
||||||
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
use SOAP::WSDL::XSD::Typelib::ComplexType;
|
||||||
use SOAP::WSDL::XSD::Typelib::Builtin;
|
use SOAP::WSDL::XSD::Typelib::Builtin;
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package Typelib::TEnqueueMessage;
|
package Typelib::TEnqueueMessage;
|
||||||
use strict;
|
use strict;
|
||||||
use base qw(Typelib::Base);
|
use base qw(Typelib::Base);
|
||||||
use Class::Std::Storable;
|
|
||||||
|
|
||||||
my %MMessage_of :ATTR(:name<MMessage> :default<()>);
|
my %MMessage_of :ATTR(:name<MMessage> :default<()>);
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package Typelib::TMessage;
|
package Typelib::TMessage;
|
||||||
use strict;
|
use strict;
|
||||||
use base qw(Typelib::Base);
|
use base qw(Typelib::Base);
|
||||||
use Class::Std::Storable;
|
|
||||||
|
|
||||||
my %MRecipientURI_of :ATTR(:name<MRecipientURI> :default<()>);
|
my %MRecipientURI_of :ATTR(:name<MRecipientURI> :default<()>);
|
||||||
my %MMessageContent_of :ATTR(:name<MMessageContent> :default<()>);
|
my %MMessageContent_of :ATTR(:name<MMessageContent> :default<()>);
|
||||||
|
|||||||
Reference in New Issue
Block a user