Loading ...
Sorry, an error occurred while loading the content.

Doc-Literal, DIME Update and 0.65 Beta 2 Changes

Expand Messages
  • Byrne Reese
    Dear SOAP::Lite Developer Community, First off I would like to say thank you to everyone writing to the mailing list, asking for help, contributing patches,
    Message 1 of 1 , Oct 25, 2004
    • 0 Attachment
      Dear SOAP::Lite Developer Community,

      First off I would like to say thank you to everyone writing to the mailing list, asking for help, contributing patches, etc. And to those of you like Paul, Duncan, and Jonathan who routinely assist in answering other people's questions on the mailing list. All of this activity is what allows me to focus my development efforts on what is *needed* as opposed to what I *think* is needed. As a result SOAP::Lite 0.65 stands to be one of the biggest and most important releases to date. So thank you.

      Now for a few updates.

      Document-Literal Update
      As a part of this release will be a very initial, and incomplete, implementation that can process document/literal WSDLs. The code is not particularly pretty right now, but I have been able to successfully make a call to the following service:


      Thanks to Robert Nicholson whose email somehow managed to inspire me to tackle this. To Robert, you will be happy to know that the following code will now work in Beta 2:
      use SOAP::Lite +trace => qw(debug);
      use strict;
      my $wsdl    = "http://ws2.serviceobjects.net/pt/PackTrack.asmx?WSDL";
      my $license = "xxx";
      my $bill    = "yyy";
      my $soap = SOAP::Lite->readable(1);
      my $results = $soap

      Things are certainly getting simpler. And one thing I will implement prior to 0.65's release is a caching mechanism so that generated stubs will be reused as opposed to regenerated each and every time a call is made. One aspect that really slows a client down is having to parse and reparse the WSDL each and every time. And until I have time to optimize WSDL parsing - things are likely to get slower, before they get faster (especially for WSDLs as complex as Salesforce.com's). So this caching will be critical.

      When all this is complete, the wsdl2perl project will inherit much of the logic now residing in SOAP::Lite.

      DIME Support
      The hooks for DIME support are in the toolkit, however, DIME::Tools is still new and requires some bug fixes. Domingo Alcazar, the toolkit's author, has agreed to integrate some unit tests I have written into DIME::Tools and resolve the issues I am experiencing. When his fixes are complete, DIME support will be complete. For the time being, DIME code is being checked in, but it doesn't work until DIME::Tools can be fixed.

      Change Log
      Anyway, SOAP::Lite 0.65 Beta 2 contains even more new capabilities within it. They are detailed below:
      + Added ReleaseNotes.txt
      + Added section REPORTING BUGS to pod comments
      + Deprecated SOAP::Lite->schema removed
      + Deprecated SOAP::Lite->on_debug removed
      + Deprecated SOAP::Schema->schema in favor of SOAP::Schema->schema_url
      + Added SOAP::Schema->useragent - which returns the LWP::UserAgent instance
        that will be used when accessing WSDLs via the SOAP::Lite->service call.
        This is helpful when access to a WSDL requires authentication, etc.
      + Made changes that allows messages to be constructed using a NULL body:
        <Envelope><Body /></Envelope>
      + Added constant OBJS_BY_REF_KEEPALIVE which defaults to 600 - this is
        so that services can configure how long to cache objects marked as persistent
        using SOAP::Server::Object->objects_by_reference()
      + Added the ability for a user to modify the UserAgent class used
        by SOAP::Transport::HTTP::Client, updated Transport.pm's documentation
        to reflect this. Added $SOAP::Transport::HTTP::Client::USERAGENT_CLASS
        variable as a means of setting this.
      + SOAP Packager package/unpackage now take in a context variable as
        input because packagers need to know what version of SOAP you are using
        to properly bind to HTTP and SOAP
      + Refactored and rewrote README file
      + Renamed SOAP::Schema->stub() to SOAP::Schema->generate_stub(). This populates
        a private variable called "stub" with the autogenerated Perl code.
      + Added SOAP::Schema->stub() which returns the autogenerated Perl code used
        internally by SOAP::Lite. This can be helpful for debugging SOAP::Lite's
        utilization of WSDL, as well as helpful to developers working on S::L's
        WSDL support.
      Release Date
      I hope to release SOAP::Lite 0.65 Beta 2 tomorrow - my last day before I start work at a new company:
      That of course is assuming all the unit tests still pass. Right now about 3% are failing, and I should clean them up easily. Knock on wood.

      Anyway - stay tuned. Beta 2 is coming.

    Your message has been successfully submitted and would be delivered to recipients shortly.