Much of the complexity of SOAP::Lite comes from the actual SOAP specification. There's a multitude of different encoding methods, multiple transport options, different incompatible versions of XML Schema, etc. And let's not forget it has both client and server code in it.

I've read through the code, and yes, there are parts of it that are still well over my head, and it takes me a 1-5 days to get back up to speed on it when I'm trying to remember what I was doing with my replacement serializer. (I think I stared at it on and off for a month before I felt I was to the point where I could really mess with it, and I had to deal with the object methods calling functions in the same namespace, so I couldn't easily subclass the serializer)

Let's look at the questions for decision making -- does it do what I need it to do currently? Yes. Could it be improved? Probably. Have I worked around most of my problems with it? Yes. Do I have any current outstanding issues with it? No. Is it currently worth my time of trying to do a major overhaul or rewrite? Nope. Might it be in the future? Perhaps.

Are there other languages that I need SOAP support in, that I don't have it? Yes. Am I working on a SOAP client for one of them? Yes. Is it a royal *@#$^ pain? Yes. Do I have any idea what I'm doing? Not really.

As I see it, trying to understand the SOAP::Lite code is a lot less effort than a complete re-write. I don't know enough about the other SOAP toolkits from other languages to know what is, or isn't a good model. I would say, if you're going to do it, you should come up with definite reasons for doing it -- and something that can be measured ('functions well' is rather ambiguous). SOAP is a very complex concept, and it's going to be very difficult to make something that can deal with the complexity, be easy to maintain, and whatever other requirements you might have (ie, memory usage, execution speed, etc.)

Now -- as best I can tell, you've only once asked for help with SOAP::Lite here. If you have specific problems, we might be able to help you. (of course, there's also the possibility that we can't help you, but the possible good outcome usually outweighs the cost of asking).


In reply to Re: start over with SOAP in Perl? by jhourcle
in thread start over with SOAP in Perl? by McMahon

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.