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

Server-Side Envelope Capture and Logging

Expand Messages
  • Josh Staiger
    Hi, I m still waiting for an answer to this question. Maybe I m missing something obvious in the docs. If so, I m sorry. However, I ve read through them a
    Message 1 of 2 , Nov 12, 2002
    • 0 Attachment
      Hi,

      I'm still waiting for an answer to this question.
      Maybe I'm missing something obvious in the docs. If
      so, I'm sorry. However, I've read through them a few
      times, and I don't think I am.

      I am using a mod_perl based SOAP server.

      I would like to be able to capture and log the raw XML
      of all requests and responses sent to and from the
      server. Is there an easy way to do this on the
      server-side?

      I know how to do it with a SOAP client using +trace,
      but can this be used with a SOAP server with
      SOAP::Transport::HTTP? If so then how?

      Any insight at all would be helpful.

      I am trying to implement a kind of capture-replay
      system for my software and this functionality would be
      extremely helpful for me.

      Right now my server code looks like this:

      ~~~~~~~~~~~~~~~~~~~~~

      package SOAP::Apache;

      use SOAP::Transport::HTTP;

      my $server = SOAP::Transport::HTTP::Apache
      -> dispatch_to('/var/soaplite/modules', 'Blog');

      $server->serializer->maptype->{SOAPStruct} = '';

      sub handler { $server->handler(@_) }

      1;

      ~~~~~~~~~~~~~~~~~~~~~~

      Thank you!

      -Josh

      __________________________________________________
      Do you Yahoo!?
      U2 on LAUNCH - Exclusive greatest hits videos
      http://launch.yahoo.com/u2
    • Duncan Cameron
      ... Just the same way, e.g. use SOAP::Lite +trace = debug ; The problem seems to be that there are far fewer trace events in the server side than the client.
      Message 2 of 2 , Nov 12, 2002
      • 0 Attachment
        On 2002-11-12 Josh Staiger wrote:
        >Hi,
        >
        >I'm still waiting for an answer to this question.
        >Maybe I'm missing something obvious in the docs. If
        >so, I'm sorry. However, I've read through them a few
        >times, and I don't think I am.
        >
        >I am using a mod_perl based SOAP server.
        >
        >I would like to be able to capture and log the raw XML
        >of all requests and responses sent to and from the
        >server. Is there an easy way to do this on the
        >server-side?
        >
        >I know how to do it with a SOAP client using +trace,
        >but can this be used with a SOAP server with
        >SOAP::Transport::HTTP? If so then how?
        >
        Just the same way, e.g.

        use SOAP::Lite +trace => 'debug';

        The problem seems to be that there are far fewer trace events in the
        server side than the client. You probably want to add a couple of
        calls to SOAP::Trace into the handle() method of
        SOAP::Transport::HTTP::Server, like so:

        SOAP::Trace::debug($self->request->as_string);
        after assigning $self, and
        SOAP::Trace::debug($self->response->as_string);
        before exiting

        If you are running on Windows then I recommend the tcptrace and
        proxytrace tools from http://www.pocketsoap.com

        Regards,
        Duncan Cameron
      Your message has been successfully submitted and would be delivered to recipients shortly.