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

Re: [soaplite] Re: Error: Can't call method "result"

Expand Messages
  • Paul Kulchenko
    Hi, swapan_das! ... You can do something like this: use HTTP::Cookies; use SOAP::Lite; # you may also add file if you want to keep cookie between sessions my
    Message 1 of 6 , Jan 22, 2002
      Hi, swapan_das!

      --- swapan_das <swapan_das@...> wrote:
      > Below is the header information that I get from the soap envelope.
      > How do I use the glue session id in my subsequent requests to a
      > different or same "access endpoint with service description"?

      You can do something like this:

      use HTTP::Cookies;
      use SOAP::Lite;

      # you may also add 'file' if you want to keep cookie between sessions
      my $soap->proxy('http://localhost/',
      cookie_jar => HTTP::Cookies->new(ignore_discard => 1));

      Check "Using cookies" section in SOAP Cookbook for more
      information(http://cookbook.soaplite.com/).

      Best wishes, Paul.

      > -------------------
      > </SOAP-ENV:Envelope>
      > HTTP/1.1 200 OK
      > Date: Tue, 22 Jan 2002 02:03:01 GMT
      > Server: GLUE/1.3
      > Content-Length: 451
      > Content-Type: text/xml; charset=UTF-8
      > Client-Date: Tue, 22 Jan 2002 02:03:01 GMT
      > Client-Peer: 192.168.1.127:8004
      > Set-Cookie: GLUE-Session=1179035536303316211; expires=Tuesday,
      > 22-Jan-
      > 02 06:03:01 GMT; path=/glue
      >
      >
      > > Hi, swapan_das!
      > >
      > >--- swapan_das <swapan_das@...> wrote:
      > > > Where can I read up on getting fault() and access control from
      > > > sessions using "access endpoint with service description" and
      > > > SOAP::Lite.
      > > call() and self() methods can be helpful. I answered this very
      > > question resently, so you may search archives for 'call' and
      > (maybe)
      > > 'self' string. Let me know if you don't find an answer, I'll find
      > a
      > > message for you.
      > >
      > > Best wishes, Paul.
      >
      > --- In soaplite@y..., Paul Kulchenko <paulclinger@y...> wrote:
      > > Hi, swapan_das!
      > >
      > > What's the code that puts value in $result? If you use
      > autodispatch
      > > or access endpoint with service description, then $result
      > variable
      > > already contains your string and you don't need to call result()
      > >
      > > Best wishes, Paul.
      > >
      > > --- swapan_das <swapan_das@y...> wrote:
      > > > Hi,
      > > >
      > > > When I call print "$result->result();"
      > > >
      > > > Can't call method "result" without a package or object
      > reference
      > at
      > > >
      > > > test1.pl line 10.
      > > >
      > > > I am trying to return a string back from JAVA to SOAP::Lite.
      > > >
      > > > Thanks,
      > > >
      > > >
      > > > To unsubscribe from this group, send an email to:
      > > > soaplite-unsubscribe@y...
      > > >
      > > >
      > > >
      > > > Your use of Yahoo! Groups is subject to
      > > > http://docs.yahoo.com/info/terms/
      > > >
      > > >
      > >
      > >
      > > __________________________________________________
      > > Do You Yahoo!?
      > > Send FREE video emails in Yahoo! Mail!
      > > http://promo.yahoo.com/videomail/
      >
      >
      > ------------------------ Yahoo! Groups Sponsor
      >
      > 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/
      >
      >


      __________________________________________________
      Do You Yahoo!?
      Send FREE video emails in Yahoo! Mail!
      http://promo.yahoo.com/videomail/
    • swapan_das
      Cool! That worked!! Hopefully last question.. I have multiple endpoints. my $soap = SOAP::Lite- service ( http://localhost:8004/glue/urn:glueXXX1.wsdl ); my
      Message 2 of 6 , Jan 22, 2002
        Cool! That worked!! Hopefully last question..

        I have multiple endpoints.

        my $soap = SOAP::Lite->service
        ('http://localhost:8004/glue/urn:glueXXX1.wsdl');
        my $soap1 = SOAP::Lite->service
        ('http://localhost:8004/glue/urn:glueXXX2.wsdl');

        Is the above definiion correct? Should I use something like :

        $soap->proxy('http://endpoint.server/',
        proxy => ['http' => 'http://my.proxy.server/']);

        If so how? I can't get it to work. As I keep getting "500 (Internal
        Server Error) Unknown error".

        Lastly, how do I pass the cookie between these services.

        Thanks a bunch,

        --- In soaplite@y..., Paul Kulchenko <paulclinger@y...> wrote:
        > Hi, swapan_das!
        >
        > --- swapan_das <swapan_das@y...> wrote:
        > > Below is the header information that I get from the soap
        envelope.
        > > How do I use the glue session id in my subsequent requests to a
        > > different or same "access endpoint with service description"?
        >
        > You can do something like this:
        >
        > use HTTP::Cookies;
        > use SOAP::Lite;
        >
        > # you may also add 'file' if you want to keep cookie between
        sessions
        > my $soap->proxy('http://localhost/',
        > cookie_jar => HTTP::Cookies->new(ignore_discard => 1));
        >
        > Check "Using cookies" section in SOAP Cookbook for more
        > information(http://cookbook.soaplite.com/).
        >
        > Best wishes, Paul.
        >
        > > -------------------
        > > </SOAP-ENV:Envelope>
        > > HTTP/1.1 200 OK
        > > Date: Tue, 22 Jan 2002 02:03:01 GMT
        > > Server: GLUE/1.3
        > > Content-Length: 451
        > > Content-Type: text/xml; charset=UTF-8
        > > Client-Date: Tue, 22 Jan 2002 02:03:01 GMT
        > > Client-Peer: 192.168.1.127:8004
        > > Set-Cookie: GLUE-Session=1179035536303316211; expires=Tuesday,
        > > 22-Jan-
        > > 02 06:03:01 GMT; path=/glue
        > >
        > >
        > > > Hi, swapan_das!
        > > >
        > > >--- swapan_das <swapan_das@y...> wrote:
        > > > > Where can I read up on getting fault() and access control
        from
        > > > > sessions using "access endpoint with service description" and
        > > > > SOAP::Lite.
        > > > call() and self() methods can be helpful. I answered this very
        > > > question resently, so you may search archives for 'call' and
        > > (maybe)
        > > > 'self' string. Let me know if you don't find an answer, I'll
        find
        > > a
        > > > message for you.
        > > >
        > > > Best wishes, Paul.
        > >
        > > --- In soaplite@y..., Paul Kulchenko <paulclinger@y...> wrote:
        > > > Hi, swapan_das!
        > > >
        > > > What's the code that puts value in $result? If you use
        > > autodispatch
        > > > or access endpoint with service description, then $result
        > > variable
        > > > already contains your string and you don't need to call result()
        > > >
        > > > Best wishes, Paul.
        > > >
        > > > --- swapan_das <swapan_das@y...> wrote:
        > > > > Hi,
        > > > >
        > > > > When I call print "$result->result();"
        > > > >
        > > > > Can't call method "result" without a package or object
        > > reference
        > > at
        > > > >
        > > > > test1.pl line 10.
        > > > >
        > > > > I am trying to return a string back from JAVA to SOAP::Lite.
        > > > >
        > > > > Thanks,
        > > > >
        > > > >
        > > > > To unsubscribe from this group, send an email to:
        > > > > soaplite-unsubscribe@y...
        > > > >
        > > > >
        > > > >
        > > > > Your use of Yahoo! Groups is subject to
        > > > > http://docs.yahoo.com/info/terms/
        > > > >
        > > > >
        > > >
        > > >
        > > > __________________________________________________
        > > > Do You Yahoo!?
        > > > Send FREE video emails in Yahoo! Mail!
        > > > http://promo.yahoo.com/videomail/
        > >
        > >
        > > ------------------------ Yahoo! Groups Sponsor
        > >
        > > To unsubscribe from this group, send an email to:
        > > soaplite-unsubscribe@y...
        > >
        > >
        > >
        > > Your use of Yahoo! Groups is subject to
        > > http://docs.yahoo.com/info/terms/
        > >
        > >
        >
        >
        > __________________________________________________
        > Do You Yahoo!?
        > Send FREE video emails in Yahoo! Mail!
        > http://promo.yahoo.com/videomail/
      • Paul Kulchenko
        Hi, swapan_das! ... Yes, that should work (don t confuse proxy from SOAP::Lite and proxy from LWP::UserAgent: $soap- proxy( http://fake/ )
        Message 3 of 6 , Jan 22, 2002
          Hi, swapan_das!

          --- swapan_das <swapan_das@...> wrote:
          > I have multiple endpoints.
          >
          > my $soap = SOAP::Lite->service
          > ('http://localhost:8004/glue/urn:glueXXX1.wsdl');
          > my $soap1 = SOAP::Lite->service
          > ('http://localhost:8004/glue/urn:glueXXX2.wsdl');
          >
          > Is the above definiion correct? Should I use something like :
          >
          > $soap->proxy('http://endpoint.server/',
          > proxy => ['http' => 'http://my.proxy.server/']);
          Yes, that should work (don't confuse 'proxy' from SOAP::Lite and
          'proxy' from LWP::UserAgent:

          $soap->proxy('http://fake/') # SOAP::Lite's
          ->transport
          ->proxy(http => 'http://my.proxy.server/'); # LWP::UserAgent's

          --OR short version--
          $soap->proxy('http://fake/',
          proxy => ['http' => 'http://my.proxy.server/']);

          You can always use transport() method to get an access to low-level
          transport settings, but the feature is that transport object doesn't
          exist yet (it will be created during the first call, because
          transport depends on endpoint address in WSDL), so you need to create
          it first using fake URL (only protocol part is important).

          proxy() creates transport object, transport() returns this object and
          you can call any methods you want. You can get/set options, timeout,
          cookies or anything else. You need to use proxy() call ONLY if you
          want to specify something before the first call. After that transport
          object already exists and can be accessed.

          > Lastly, how do I pass the cookie between these services.
          do something like this (untested):

          use HTTP::Cookies;
          my $cookie = HTTP::Cookies->new(ignore_discard => 1);

          ....

          $soap->proxy('http://fake/', cookie_jar => $cookie);
          $soap1->proxy('http://fake/', cookie_jar => $cookie);

          Then use $soap, $soap1 as usual.

          If you just need to specify proxy parameters, you can also use
          HTTP_proxy and HTTP_proxy_user/HTTP_proxy_pass that work from
          WSDL-based interface also.

          Best wishes, Paul.

          __________________________________________________
          Do You Yahoo!?
          Send FREE video emails in Yahoo! Mail!
          http://promo.yahoo.com/videomail/
        Your message has been successfully submitted and would be delivered to recipients shortly.