I have my own module that requests are dispatched to as you'd expect.

When the module is loaded/used, i assume it is in OO context since the first argument is the name of the module/class. So, should I create a new() sub? is it required? is it called quietly if it does exist before calling the actual function/method requested by the SOAP call?

At the minute I'm bless'ing $self={} with the $class that is passed in first, but at the beginning of each sub in the module.

What's "best practice" in this situation? Create another 'private' sub to do the bless'ing and basic validation? etc.

And finally, if i wanted my SOAP service using mod_perl or Fast-CGI, should i 'use' all required modules in the calling script to ensure everything is loaded up first? or does SOAP::Lite take care of this for me?

In reply to SOAP Modules (OO or not?) by Cagao

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.