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

SOAP::Lite Usage Question

Expand Messages
  • Dan Muey
    Hello list, I am extremely new to Web Services and Soap. Soap was recommended to me by a couple of perl lists that I frequent. I was checking out the awesome
    Message 1 of 4 , Jan 22, 2003
    • 0 Attachment
      Message
      Hello list,
       
      I am extremely new to Web Services and Soap. Soap was recommended to me by a couple of perl lists that I frequent.
      I was checking out the awesome page ::  http://www.perl.com/pub/a/2001/01/soap.html
       
      In the process of RTFM :-) I think I've figured out what is going on but I have a few questions
      still to make sure I'm understanding everything right.
       
      I have 12 questions about some of the code form the examples, they are behind the '##' lines. Most are 'yes' and 'no'
      answers. I really appreciate any input as SOAP is so new to me and I think it will do exactly what I need!
       
      This is supposed to be a client script. It just has basic example and isn't supposed to do anything specifc.
       
      #!/usr/bin/perl -w
       
      $username = "Joe";
      $password = "Mama";
       
        use SOAP::Lite;
       
      ##0 I realize that the last part of the uri is the package name to use
      ## How do I determine what goes in uri before the package name ?
      ## IE - below they want the 'Temperatures' package but how do they
      ## determine/what is the signifigance of 'http://www.soaplite.com/' that precedes it.
       
      ##1 to do ssl on the soap traffic I just change proxy to https instead?
      ##2 soap traffic will still be encrypted if this client script is called via http and not https?
       
       my $soap = SOAP::Lite                                       
          -> uri('http://www.soaplite.com/Temperatures')                                    
          -> proxy('http://services.soaplite.com/temper.cgi')
          -> on_fault(sub { my($soap, $res) = @_;
               die ref $res ? $res->faultdetail : $soap->transport->status, "\n";
             });
      ##3 So doing on_fault this way will die at all errors from using $soap ?
       
      ##4 So this will authenticate a .htpasswd protected directory and allow access to what's inside?
        sub SOAP::Transport::HTTP::Client::get_basic_credentials {
          return "$username" => "$password";
        }
       
        my $temperatures = $soap
          -> call(subroutine => args)  ##5 So 'call' is used to call a subroutine ?
          -> result;
       
        print $soap
          -> subroutine(args)  ##6 same as call(subroutine => args) ?
          -> result;
       
        $soap_response = $soap
          ->subroutine()
          -> result;
       
      %res = $sope_response->paramsout;
      ##7 if subroutine() does 'return %hash;'will this work or do I need to do below then %res = @res; or other wise bulid my hash ?
       
      @res = $soap_response->paramsout;
      ## gets array if subroutine does 'return ("val","val","val");'
      ##8 How about if it does 'return $value;return $value2;' or 'return @array;' ?
       
        $res = $soap_response->result;
       

      ##9 In the two examples below can $var be created/used in the CLIENT, SERVER, OR BOTH ??
       
      ##10 IE so if the server has a line in it like $var = 'stuff';
      ## Then the client could set it's value or get it's value from the server ?
       
      ##11 So if the client has the line $var = 'stuff';
      ## Then the Serever could set it's value or get it's value from the client ?
       
       $var->value(321);            # set new value
       
       my $realvalue = $var->value; # store it in variable
    • Keanan Smith
      0: None functionally, the URI is intended to indicate a unique space in which the code exists, so this should technically be a space you control and/or can
      Message 2 of 4 , Jan 22, 2003
      • 0 Attachment
        0: None functionally, the URI is intended to indicate a unique 'space' in
        which the code exists, so this should technically be a space you control
        and/or can insure is unique (The URL of the soap server is often a good
        selection)


        1:Yes, provided both server and client understand encrypted data.



        2: No.



        3: Yes (this will die both from transport errors and from 'die' statements
        occuring in the code called on the server side, if the server is a
        SOAP::Lite server) the $res is the result object (Which,if you are making
        soap calls via the object-oriented soap interface, is same object returned
        from the soap call) on_fault is only called if there is a fault returned
        (Which might be a transport error, in which case there will be no $res
        object, or a fault *generated* by the soap call, in which case the $res
        object will contain the fault (in string form vial $res->faultstring)



        4: Yes.



        5: It's one of the ways you can call a subroutine/method via SOAP (If your
        using dispatch_from you can access the method via the package you're
        dispatching from, if you're using autodispatch, you can access a method via
        any package where said method isn't defined in the client etc...)



        6: Yes.



        7: Your syntax isn't exactly correct:
        if the server looks like:
        sub subroutine
        {
        return (1,2,3,4,5,6,7); ## Returning a list of 7 items.
        }
        the client can do:
        $result_object = $soap->subroutine() ## gives you SOAP result object
        $result_object->result ## gives you '1'
        @others = $result_object->paramsout ## @others is (2,3,4,5,6,7)
        %others = $result_object->paramsout ## %others is (2 => 3,4 => 5, 6 =>7)
        A slightly less confusing example looks like
        sub subroutine
        {
        return [1,2,3,4,5,6,7] ## Returning 1 item, which is an anonymous array,
        of 7 items
        }
        OR
        sub subroutine
        {
        return {1 => 2, 3 => 4, 5=> 6, 7=> undef}; ## Returning 1 item which is
        an anonymous hash, with 4 keys
        }

        then client-side you can do:

        $single_result = $soap->subroutine()->result; ## Notice: not keeping object,
        just grabbing result directly from soap call, don't need paramsout (There
        aren't any) and we're ignoring faults. $single_result is either a reference
        to an array or hash depending on which server example of mine your looking
        at ;)


        8: return x; return y; isn't usefull, the 'return y;' never happens, as
        return ends the subroutine. for the second example see above.

        9,10,11: Well, you can't simply treat a simple variable like an object (At
        least not without some work) That's simply not legal Perl. and if $var is
        simply a variable which exists client side, it doesn't get "imported" to the
        server side (The only things which are sent to the server are the things you
        pass in the argument list to your call)

        if $var is intended to be modified by the server, you can pass it in the
        normal fashion

        $soap->call('method', $var);
        or
        $soap->method($var)
        or even
        Package->method($var) ## (With autodispatch or dispatch_from)

        and if you alter it, it will be altered when the soap method returns,
        HOWEVER this only works if you are using your server call in a
        pass-by-reference kind of a situation like:

        ## Server
        sub add
        {
        $_[1]++; ## $_[0] is the package or object reference
        }

        ## Client
        $var = 1;
        $soap->add($var); ## $var == 2 now

        but:
        ## Server
        sub add
        {
        $copy = $_[1];
        $copy++;
        }

        will return 2, but $value will still be 1 (Remember that simple assignments
        are copying values in perl, to do a reference assignment you'd have to do
        '*copy = \$_[1]' instead.)

        Generally speaking SOAP calls function work like perl subroutine calls, and
        you can generally expect that they will work as Perl would work if it was
        all in the same program on the same machine.



        -----Original Message-----
        From: Dan Muey [mailto:dmuey@...]
        Sent: Wednesday, January 22, 2003 3:35 PM
        To: soaplite@yahoogroups.com
        Subject: [soaplite] SOAP::Lite Usage Question


        Hello list,

        I am extremely new to Web Services and Soap. Soap was recommended to me by a
        couple of perl lists that I frequent.
        I was checking out the awesome page ::
        http://www.perl.com/pub/a/2001/01/soap.html

        In the process of RTFM :-) I think I've figured out what is going on but I
        have a few questions
        still to make sure I'm understanding everything right.

        I have 12 questions about some of the code form the examples, they are
        behind the '##' lines. Most are 'yes' and 'no'
        answers. I really appreciate any input as SOAP is so new to me and I think
        it will do exactly what I need!

        This is supposed to be a client script. It just has basic example and isn't
        supposed to do anything specifc.

        #!/usr/bin/perl -w

        $username = "Joe";
        $password = "Mama";

        use SOAP::Lite;

        ##0 I realize that the last part of the uri is the package name to use
        ## How do I determine what goes in uri before the package name ?
        ## IE - below they want the 'Temperatures' package but how do they
        ## determine/what is the signifigance of 'http://www.soaplite.com/' that
        precedes it.

        ##1 to do ssl on the soap traffic I just change proxy to https instead?
        ##2 soap traffic will still be encrypted if this client script is called via
        http and not https?

        my $soap = SOAP::Lite
        -> uri('http://www.soaplite.com/Temperatures')

        -> proxy('http://services.soaplite.com/temper.cgi')
        -> on_fault(sub { my($soap, $res) = @_;
        die ref $res ? $res->faultdetail : $soap->transport->status, "\n";
        });
        ##3 So doing on_fault this way will die at all errors from using $soap ?

        ##4 So this will authenticate a .htpasswd protected directory and allow
        access to what's inside?
        sub SOAP::Transport::HTTP::Client::get_basic_credentials {
        return "$username" => "$password";
        }

        my $temperatures = $soap
        -> call(subroutine => args) ##5 So 'call' is used to call a subroutine
        ?
        -> result;

        print $soap
        -> subroutine(args) ##6 same as call(subroutine => args) ?
        -> result;

        $soap_response = $soap
        ->subroutine()
        -> result;

        %res = $sope_response->paramsout;
        ##7 if subroutine() does 'return %hash;'will this work or do I need to do
        below then %res = @res; or other wise bulid my hash ?

        @res = $soap_response->paramsout;
        ## gets array if subroutine does 'return ("val","val","val");'
        ##8 How about if it does 'return $value;return $value2;' or 'return @array;'
        ?

        $res = $soap_response->result;


        ##9 In the two examples below can $var be created/used in the CLIENT,
        SERVER, OR BOTH ??

        ##10 IE so if the server has a line in it like $var = 'stuff';
        ## Then the client could set it's value or get it's value from the server ?

        ##11 So if the client has the line $var = 'stuff';
        ## Then the Serever could set it's value or get it's value from the client ?

        $var->value(321); # set new value

        my $realvalue = $var->value; # store it in variable

        Yahoo! Groups Sponsor
        ADVERTISEMENT




        To unsubscribe from this group, send an email to:
        soaplite-unsubscribe@yahoogroups.com



        Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
      • Dan Muey
        Awesome! Thanks a zillion! I ll look this over and see how it goes. I apprteciate it very much! Dan
        Message 3 of 4 , Jan 22, 2003
        • 0 Attachment
          Awesome! Thanks a zillion! I'll look this over and see how it goes.
          I apprteciate it very much!

          Dan


          > 0: None functionally, the URI is intended to indicate a
          > unique 'space' in which the code exists, so this should
          > technically be a space you control and/or can insure is
          > unique (The URL of the soap server is often a good
          > selection)
          >
          >
          > 1:Yes, provided both server and client understand encrypted data.
          >
          >
          >
          > 2: No.
          >
          >
          >
          > 3: Yes (this will die both from transport errors and from
          > 'die' statements occuring in the code called on the server
          > side, if the server is a SOAP::Lite server) the $res is the
          > result object (Which,if you are making soap calls via the
          > object-oriented soap interface, is same object returned from
          > the soap call) on_fault is only called if there is a fault
          > returned (Which might be a transport error, in which case
          > there will be no $res object, or a fault *generated* by the
          > soap call, in which case the $res object will contain the
          > fault (in string form vial $res->faultstring)
          >
          >
          >
          > 4: Yes.
          >
          >
          >
          > 5: It's one of the ways you can call a subroutine/method via
          > SOAP (If your using dispatch_from you can access the method
          > via the package you're dispatching from, if you're using
          > autodispatch, you can access a method via any package where
          > said method isn't defined in the client etc...)
          >
          >
          >
          > 6: Yes.
          >
          >
          >
          > 7: Your syntax isn't exactly correct:
          > if the server looks like:
          > sub subroutine
          > {
          > return (1,2,3,4,5,6,7); ## Returning a list of 7 items.
          > }
          > the client can do:
          > $result_object = $soap->subroutine() ## gives you SOAP result object
          > $result_object->result ## gives you '1'
          > @others = $result_object->paramsout ## @others is (2,3,4,5,6,7)
          > %others = $result_object->paramsout ## %others is (2 =>
          > 3,4 => 5, 6 =>7) A slightly less confusing example looks like
          > sub subroutine {
          > return [1,2,3,4,5,6,7] ## Returning 1 item, which is an
          > anonymous array, of 7 items } OR sub subroutine {
          > return {1 => 2, 3 => 4, 5=> 6, 7=> undef}; ## Returning 1
          > item which is an anonymous hash, with 4 keys }
          >
          > then client-side you can do:
          >
          > $single_result = $soap->subroutine()->result; ## Notice: not
          > keeping object, just grabbing result directly from soap call,
          > don't need paramsout (There aren't any) and we're ignoring
          > faults. $single_result is either a reference to an array or
          > hash depending on which server example of mine your looking at ;)
          >
          >
          > 8: return x; return y; isn't usefull, the 'return y;' never
          > happens, as return ends the subroutine. for the second
          > example see above.
          >
          > 9,10,11: Well, you can't simply treat a simple variable like
          > an object (At least not without some work) That's simply not
          > legal Perl. and if $var is simply a variable which exists
          > client side, it doesn't get "imported" to the server side
          > (The only things which are sent to the server are the things
          > you pass in the argument list to your call)
          >
          > if $var is intended to be modified by the server, you can
          > pass it in the normal fashion
          >
          > $soap->call('method', $var);
          > or
          > $soap->method($var)
          > or even
          > Package->method($var) ## (With autodispatch or dispatch_from)
          >
          > and if you alter it, it will be altered when the soap method
          > returns, HOWEVER this only works if you are using your server
          > call in a pass-by-reference kind of a situation like:
          >
          > ## Server
          > sub add
          > {
          > $_[1]++; ## $_[0] is the package or object reference
          > }
          >
          > ## Client
          > $var = 1;
          > $soap->add($var); ## $var == 2 now
          >
          > but:
          > ## Server
          > sub add
          > {
          > $copy = $_[1];
          > $copy++;
          > }
          >
          > will return 2, but $value will still be 1 (Remember that
          > simple assignments are copying values in perl, to do a
          > reference assignment you'd have to do '*copy = \$_[1]' instead.)
          >
          > Generally speaking SOAP calls function work like perl
          > subroutine calls, and you can generally expect that they will
          > work as Perl would work if it was all in the same program on
          > the same machine.
          >
          >
          >
          > -----Original Message-----
          > From: Dan Muey [mailto:dmuey@...]
          > Sent: Wednesday, January 22, 2003 3:35 PM
          > To: soaplite@yahoogroups.com
          > Subject: [soaplite] SOAP::Lite Usage Question
          >
          >
          > Hello list,
          >
          > I am extremely new to Web Services and Soap. Soap was
          > recommended to me by a couple of perl lists that I frequent.
          > I was checking out the awesome page ::
          > http://www.perl.com/pub/a/2001/01/soap.html
          >
          > In the process of RTFM :-) I think I've figured out what is
          > going on but I have a few questions
          > still to make sure I'm understanding everything right.
          >
          > I have 12 questions about some of the code form the examples,
          > they are behind the '##' lines. Most are 'yes' and 'no'
          > answers. I really appreciate any input as SOAP is so new to
          > me and I think it will do exactly what I need!
          >
          > This is supposed to be a client script. It just has basic
          > example and isn't supposed to do anything specifc.
          >
          > #!/usr/bin/perl -w
          >
          > $username = "Joe";
          > $password = "Mama";
          >
          > use SOAP::Lite;
          >
          > ##0 I realize that the last part of the uri is the package
          > name to use
          > ## How do I determine what goes in uri before the package name ?
          > ## IE - below they want the 'Temperatures' package but how do they
          > ## determine/what is the signifigance of
          > 'http://www.soaplite.com/' that precedes it.
          >
          > ##1 to do ssl on the soap traffic I just change proxy to
          > https instead? ##2 soap traffic will still be encrypted if
          > this client script is called via http and not https?
          >
          > my $soap = SOAP::Lite
          > -> uri('http://www.soaplite.com/Temperatures')
          >
          > -> proxy('http://services.soaplite.com/temper.cgi')
          > -> on_fault(sub { my($soap, $res) = @_;
          > die ref $res ? $res->faultdetail :
          > $soap->transport->status, "\n";
          > });
          > ##3 So doing on_fault this way will die at all errors from
          > using $soap ?
          >
          > ##4 So this will authenticate a .htpasswd protected directory
          > and allow access to what's inside?
          > sub SOAP::Transport::HTTP::Client::get_basic_credentials {
          > return "$username" => "$password";
          > }
          >
          > my $temperatures = $soap
          > -> call(subroutine => args) ##5 So 'call' is used to
          > call a subroutine ?
          > -> result;
          >
          > print $soap
          > -> subroutine(args) ##6 same as call(subroutine => args) ?
          > -> result;
          >
          > $soap_response = $soap
          > ->subroutine()
          > -> result;
          >
          > %res = $sope_response->paramsout;
          > ##7 if subroutine() does 'return %hash;'will this work or do
          > I need to do below then %res = @res; or other wise bulid my hash ?
          >
          > @res = $soap_response->paramsout;
          > ## gets array if subroutine does 'return
          > ("val","val","val");' ##8 How about if it does 'return
          > $value;return $value2;' or 'return @array;' ?
          >
          > $res = $soap_response->result;
          >
          >
          > ##9 In the two examples below can $var be created/used in the
          > CLIENT, SERVER, OR BOTH ??
          >
          > ##10 IE so if the server has a line in it like $var =
          > 'stuff'; ## Then the client could set it's value or get it's
          > value from the server ?
          >
          > ##11 So if the client has the line $var = 'stuff';
          > ## Then the Serever could set it's value or get it's value
          > from the client ?
          >
          > $var->value(321); # set new value
          >
          > my $realvalue = $var->value; # store it in variable
          >
          > Yahoo! Groups Sponsor
          > ADVERTISEMENT
          >
          >
          >
          >
          > To unsubscribe from this group, send an email to:
          > soaplite-unsubscribe@yahoogroups.com
          >
          >
          >
          > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
          >
        • Keanan Smith
          Actually, I implied a little less work than it actually takes to modify a variable server side from a parameter passed in from the client side, autobinding is
          Message 4 of 4 , Jan 22, 2003
          • 0 Attachment
            Actually, I implied a little less work than it actually takes to modify a
            variable server side from a parameter passed in from the client side,
            autobinding is not *quite* the same as direct calls in perl. Read the bit in
            the Pod on SOAP::lite on Autobinding if you actually need to do this.


            -----Original Message-----
            From: Dan Muey [mailto:dmuey@...]
            Sent: Wednesday, January 22, 2003 4:30 PM
            To: Keanan Smith; soaplite@yahoogroups.com
            Subject: RE: [soaplite] SOAP::Lite Usage Question



            Awesome! Thanks a zillion! I'll look this over and see how it goes.
            I apprteciate it very much!

            Dan


            > 0: None functionally, the URI is intended to indicate a
            > unique 'space' in which the code exists, so this should
            > technically be a space you control and/or can insure is
            > unique (The URL of the soap server is often a good
            > selection)
            >
            >
            > 1:Yes, provided both server and client understand encrypted data.
            >
            >
            >
            > 2: No.
            >
            >
            >
            > 3: Yes (this will die both from transport errors and from
            > 'die' statements occuring in the code called on the server
            > side, if the server is a SOAP::Lite server) the $res is the
            > result object (Which,if you are making soap calls via the
            > object-oriented soap interface, is same object returned from
            > the soap call) on_fault is only called if there is a fault
            > returned (Which might be a transport error, in which case
            > there will be no $res object, or a fault *generated* by the
            > soap call, in which case the $res object will contain the
            > fault (in string form vial $res->faultstring)
            >
            >
            >
            > 4: Yes.
            >
            >
            >
            > 5: It's one of the ways you can call a subroutine/method via
            > SOAP (If your using dispatch_from you can access the method
            > via the package you're dispatching from, if you're using
            > autodispatch, you can access a method via any package where
            > said method isn't defined in the client etc...)
            >
            >
            >
            > 6: Yes.
            >
            >
            >
            > 7: Your syntax isn't exactly correct:
            > if the server looks like:
            > sub subroutine
            > {
            > return (1,2,3,4,5,6,7); ## Returning a list of 7 items.
            > }
            > the client can do:
            > $result_object = $soap->subroutine() ## gives you SOAP result object
            > $result_object->result ## gives you '1'
            > @others = $result_object->paramsout ## @others is (2,3,4,5,6,7)
            > %others = $result_object->paramsout ## %others is (2 =>
            > 3,4 => 5, 6 =>7) A slightly less confusing example looks like
            > sub subroutine {
            > return [1,2,3,4,5,6,7] ## Returning 1 item, which is an
            > anonymous array, of 7 items } OR sub subroutine {
            > return {1 => 2, 3 => 4, 5=> 6, 7=> undef}; ## Returning 1
            > item which is an anonymous hash, with 4 keys }
            >
            > then client-side you can do:
            >
            > $single_result = $soap->subroutine()->result; ## Notice: not
            > keeping object, just grabbing result directly from soap call,
            > don't need paramsout (There aren't any) and we're ignoring
            > faults. $single_result is either a reference to an array or
            > hash depending on which server example of mine your looking at ;)
            >
            >
            > 8: return x; return y; isn't usefull, the 'return y;' never
            > happens, as return ends the subroutine. for the second
            > example see above.
            >
            > 9,10,11: Well, you can't simply treat a simple variable like
            > an object (At least not without some work) That's simply not
            > legal Perl. and if $var is simply a variable which exists
            > client side, it doesn't get "imported" to the server side
            > (The only things which are sent to the server are the things
            > you pass in the argument list to your call)
            >
            > if $var is intended to be modified by the server, you can
            > pass it in the normal fashion
            >
            > $soap->call('method', $var);
            > or
            > $soap->method($var)
            > or even
            > Package->method($var) ## (With autodispatch or dispatch_from)
            >
            > and if you alter it, it will be altered when the soap method
            > returns, HOWEVER this only works if you are using your server
            > call in a pass-by-reference kind of a situation like:
            >
            > ## Server
            > sub add
            > {
            > $_[1]++; ## $_[0] is the package or object reference
            > }
            >
            > ## Client
            > $var = 1;
            > $soap->add($var); ## $var == 2 now
            >
            > but:
            > ## Server
            > sub add
            > {
            > $copy = $_[1];
            > $copy++;
            > }
            >
            > will return 2, but $value will still be 1 (Remember that
            > simple assignments are copying values in perl, to do a
            > reference assignment you'd have to do '*copy = \$_[1]' instead.)
            >
            > Generally speaking SOAP calls function work like perl
            > subroutine calls, and you can generally expect that they will
            > work as Perl would work if it was all in the same program on
            > the same machine.
            >
            >
            >
            > -----Original Message-----
            > From: Dan Muey [mailto:dmuey@...]
            > Sent: Wednesday, January 22, 2003 3:35 PM
            > To: soaplite@yahoogroups.com
            > Subject: [soaplite] SOAP::Lite Usage Question
            >
            >
            > Hello list,
            >
            > I am extremely new to Web Services and Soap. Soap was
            > recommended to me by a couple of perl lists that I frequent.
            > I was checking out the awesome page ::
            > http://www.perl.com/pub/a/2001/01/soap.html
            >
            > In the process of RTFM :-) I think I've figured out what is
            > going on but I have a few questions
            > still to make sure I'm understanding everything right.
            >
            > I have 12 questions about some of the code form the examples,
            > they are behind the '##' lines. Most are 'yes' and 'no'
            > answers. I really appreciate any input as SOAP is so new to
            > me and I think it will do exactly what I need!
            >
            > This is supposed to be a client script. It just has basic
            > example and isn't supposed to do anything specifc.
            >
            > #!/usr/bin/perl -w
            >
            > $username = "Joe";
            > $password = "Mama";
            >
            > use SOAP::Lite;
            >
            > ##0 I realize that the last part of the uri is the package
            > name to use
            > ## How do I determine what goes in uri before the package name ?
            > ## IE - below they want the 'Temperatures' package but how do they
            > ## determine/what is the signifigance of
            > 'http://www.soaplite.com/' that precedes it.
            >
            > ##1 to do ssl on the soap traffic I just change proxy to
            > https instead? ##2 soap traffic will still be encrypted if
            > this client script is called via http and not https?
            >
            > my $soap = SOAP::Lite
            > -> uri('http://www.soaplite.com/Temperatures')
            >
            > -> proxy('http://services.soaplite.com/temper.cgi')
            > -> on_fault(sub { my($soap, $res) = @_;
            > die ref $res ? $res->faultdetail :
            > $soap->transport->status, "\n";
            > });
            > ##3 So doing on_fault this way will die at all errors from
            > using $soap ?
            >
            > ##4 So this will authenticate a .htpasswd protected directory
            > and allow access to what's inside?
            > sub SOAP::Transport::HTTP::Client::get_basic_credentials {
            > return "$username" => "$password";
            > }
            >
            > my $temperatures = $soap
            > -> call(subroutine => args) ##5 So 'call' is used to
            > call a subroutine ?
            > -> result;
            >
            > print $soap
            > -> subroutine(args) ##6 same as call(subroutine => args) ?
            > -> result;
            >
            > $soap_response = $soap
            > ->subroutine()
            > -> result;
            >
            > %res = $sope_response->paramsout;
            > ##7 if subroutine() does 'return %hash;'will this work or do
            > I need to do below then %res = @res; or other wise bulid my hash ?
            >
            > @res = $soap_response->paramsout;
            > ## gets array if subroutine does 'return
            > ("val","val","val");' ##8 How about if it does 'return
            > $value;return $value2;' or 'return @array;' ?
            >
            > $res = $soap_response->result;
            >
            >
            > ##9 In the two examples below can $var be created/used in the
            > CLIENT, SERVER, OR BOTH ??
            >
            > ##10 IE so if the server has a line in it like $var =
            > 'stuff'; ## Then the client could set it's value or get it's
            > value from the server ?
            >
            > ##11 So if the client has the line $var = 'stuff';
            > ## Then the Serever could set it's value or get it's value
            > from the client ?
            >
            > $var->value(321); # set new value
            >
            > my $realvalue = $var->value; # store it in variable
            >
            > Yahoo! Groups Sponsor
            > ADVERTISEMENT
            >
            >
            >
            >
            > To unsubscribe from this group, send an email to:
            > soaplite-unsubscribe@yahoogroups.com
            >
            >
            >
            > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
            >


            To unsubscribe from this group, send an email to:
            soaplite-unsubscribe@yahoogroups.com



            Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
          Your message has been successfully submitted and would be delivered to recipients shortly.