[Xml-compile] XML::Compile::SOAP v2.00_01 [DEVEL]
Mark Overmeer
mark at overmeer.net
Mon Dec 29 11:11:06 GMT 2008
I have just released XML::Compile::SOAP v2.00_01, a development release,
as you can see from the version. The version makes a big jump from the
previous 0.78 to indicate that the differences are huge.
. if you use the compile() method to create calls and you use document
style SOAP, then everything should work with one single simple change:
add to your script:
use XML::Compile::SOAP11;
. if you use compile() with rpc-literal, then you have to rewrite your
code into something much, much simpler. Daniel Ruoso showed me how
to interpret the (very unclear) specs... Actually, it now works
like document-style SOAP. Have a look at the new examples.
. if you use rpc-encoded, then you will have to wait to one of the
next development releases: in this release it will not work. Also
that usage will be much simpler, once it is done.
. if you are doing nasty things with the old module, then these changes
will hurt seriously. The old implementation will not be continued.
As you ought to know: the first implementation of OO modules always sucks.
The second attempt is usually better. The code inside the methods mainly
got simplified by using (the recently developed) XML::Compile::Cache.
The organization of the code fragments has changed much much more.
-- OLD NAME -- -- CHANGE --
XML::Compile::SOAP
XML::Compile::SOAP::Client
XML::Compile::SOAP::Encoding XML::Compile::SOAP11::Encoding
XML::Compile::SOAP::Server
XML::Compile::SOAP::Tester
XML::Compile::SOAP::Trace
XML::Compile::SOAP::Util
XML::Compile::SOAP11
XML::Compile::SOAP11::Client
XML::Compile::SOAP11::Server
XML::Compile::SOAP12 fork
XML::Compile::SOAP12::Client fork
XML::Compile::SOAP12::Server fork
XML::Compile::Transport
XML::Compile::Transport::SOAPHTTP
XML::Compile::WSDL11::Operation XML::Compile::Operation
XML::Compile::WSDL11
New: XML::Compile::SOAP11::Operation
This object is created from the WSDL information, and is used to
create server and client SOAP11 calls. In the new implementation, the
XML::Compile::SOAP11 code does not know anything about WSDL. This is
a major abstraction improvement. Catalyst::Controler::SOAP must be
changed to use this Operation object as source.
The SOAP12 modules will be distributed seperately in XML::Compile::SOAP12
They are not usuable on the moment, although quite some code already
exists. It contains
lib/XML/Compile/SOAP12.pm
lib/XML/Compile/SOAP12/Client.pm
lib/XML/Compile/SOAP12/Server.pm
lib/XML/Compile/SOAP12/Util.pm
lib/XML/Compile/SOAP12/Operation.pm
lib/XML/Compile/SOAP12/xsd/2003-soap-encoding.xsd
lib/XML/Compile/SOAP12/xsd/2003-soap-envelope.xsd
lib/XML/Compile/SOAP12/xsd/2003-soap-rpc.xsd
lib/XML/Compile/WSDL11/xsd/wsdl-soap12.xsd
XML::Compile::SOAP has now nicely pluggable back-ends: your script only
loads the definitions you need. These schema's grow larger and larger,
and come with serious start-up time. Therefore, you pick only
. the protocols you need (f.i. XML::Compile::SOAP)
. the transporter you need (f.i. XML::Compile::Transport::SOAPHTTP)
. the encoders you need (f.i. XML::Compile::SOAP11::Encode)
So: from now on, you can use SOAP12 without the SOAP11 penalty. Once
SOAP12 gets implemented ;-) Amongst the other protocols which can
be defined in WSDL is Jabber. Amongst the other transporters are MIME,
pure HTTP, and XMPP... also all to be implemented. Care is taken to
make WSDL2 simple as well.
I have run the new code with all the bug-reporting examples I collected,
and all the document style WSDLs seem to work without change. I hope you
have time to play with the development release, before 2.01 gets released.
--
Regards,
MarkOv
------------------------------------------------------------------------
Mark Overmeer MSc MARKOV Solutions
Mark at Overmeer.net solutions at overmeer.net
http://Mark.Overmeer.net http://solutions.overmeer.net
More information about the Xml-compile
mailing list