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

Caching the service

Expand Messages
  • Rick Measham
    This feels like a zero-traffic mailing list .. I m seeing questions but no answers. Oh well, I ll try :-D Calling SOAP::Lite- service($service) is taking 15
    Message 1 of 4 , May 22 10:55 PM
    • 0 Attachment
      This feels like a zero-traffic mailing list .. I'm seeing questions but
      no answers. Oh well, I'll try :-D

      Calling SOAP::Lite->service($service) is taking 15 seconds. Even if the
      $service is a file URL on the local machine. I can't afford 15 seconds
      per process so I want to cache whatever happens there. However, Cache::*
      can't cache CODE refs.

      Is there any other way to cache the service? Or am I totally missing
      something? What would happen if I didn't load the WSDL? Is it possible
      to operate without it without causing major development work or other
      overheads?

      Cheers!
      Rick Measham
    • Paul Gallagher
      Hi Rick, wanted to reply so you don t only hear the echo of your own voice;) I m afraid I haven t tried to cache soap::lite results so don t have a great deal
      Message 2 of 4 , May 23 3:04 AM
      • 0 Attachment
        Hi Rick, wanted to reply so you don't only hear the echo of your own voice;)
        I'm afraid I haven't tried to cache soap::lite results so don't have a
        great deal to offer on that point.

        I have seen however that dynamic wsdl download/parsing can be a
        considerable time waster, especially for large wsdl files (they can be
        huge). yes you can operate without it if you know (and can rely on the
        stability) of the service definition you are calling. if you don't
        want to throw away the wsdl completely, you can cache it in a local
        file and load from there.

        regards,
        paul

        On 5/23/07, Rick Measham <rick@...> wrote:
        > This feels like a zero-traffic mailing list .. I'm seeing questions but
        > no answers. Oh well, I'll try :-D
        >
        > Calling SOAP::Lite->service($service) is taking 15 seconds. Even if the
        > $service is a file URL on the local machine. I can't afford 15 seconds
        > per process so I want to cache whatever happens there. However, Cache::*
        > can't cache CODE refs.
        >
        > Is there any other way to cache the service? Or am I totally missing
        > something? What would happen if I didn't load the WSDL? Is it possible
        > to operate without it without causing major development work or other
        > overheads?
        >
        > Cheers!
        > Rick Measham
        >
        >
        >
        > Yahoo! Groups Links
        >
        >
        >
        >
      • Rick Measham
        ... LOL! Thanks :-D ... I can. If it changes, I will have been the one to load the new software :-D ... That s what I m currently doing .. it s taking 15
        Message 3 of 4 , May 23 3:47 AM
        • 0 Attachment
          Paul Gallagher wrote:
          > Hi Rick, wanted to reply so you don't only hear the echo of your own
          > voice;)

          LOL! Thanks :-D

          > yes you can operate without it if you know (and can rely on the
          > stability) of the service definition you are calling.

          I can. If it changes, I will have been the one to load the new software :-D

          > if you don't
          > want to throw away the wsdl completely, you can cache it in a local
          > file and load from there.

          That's what I'm currently doing .. it's taking 15 seconds still! I'll
          look into not using it .. try to work out how that's done.

          Appreciate you taking the time to reply.

          Cheers!
          Rick Measham
        • Joe Hourcle
          ... There s a program in the SOAP::Lite distribution that will take a wsdl file, and create a perl module that you can call, rather than parsing the wsdl each
          Message 4 of 4 , May 23 7:26 AM
          • 0 Attachment
            On Wed, 23 May 2007, Rick Measham wrote:

            > This feels like a zero-traffic mailing list .. I'm seeing questions but
            > no answers. Oh well, I'll try :-D
            >
            > Calling SOAP::Lite->service($service) is taking 15 seconds. Even if the
            > $service is a file URL on the local machine. I can't afford 15 seconds
            > per process so I want to cache whatever happens there. However, Cache::*
            > can't cache CODE refs.
            >
            > Is there any other way to cache the service? Or am I totally missing
            > something? What would happen if I didn't load the WSDL? Is it possible
            > to operate without it without causing major development work or other
            > overheads?

            There's a program in the SOAP::Lite distribution that will take a wsdl
            file, and create a perl module that you can call, rather than parsing the
            wsdl each time.

            Look for 'stubmaker.pl', and see if that speeds things up.

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