Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi

Any SOAP Liters out there ?

The example below should generate the following XML packet for SOAP. How can I actually check exactly what is being sent ????
print SOAP::Lite ->uri("urn:vgx-horoscope") ->proxy("http://thor.velocigen.com:80/vx_engine/soap-trigger.pperl") ->getHoroscope(SOAP::Data->name("astrology" => \SOAP::Data->name("sign" => 'aries') +)) ->result; <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <namesp1:getHoroscope xmlns:namesp1="urn:vgx-horoscope"> <astrology> <sign xsi:type="xsd:string">aries</sign> </astrology> </namesp1:getHoroscope> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
regards

david

janitored by ybiC: Balanced <code> tags around codeblock, to facilitate code download using page "d/l" button.

Replies are listed 'Best First'.
Re: SOAP::Lite (agghhh)
by gellyfish (Monsignor) on Aug 23, 2004 at 16:19 UTC

    As jeffa suggests using the trace facility in SOAP::Lite is quite easy, you just need:

    use SOAP::Lite +trace => 'all';
    at the start of the program (rather than the plain 'use' ). For your code you will get gobs of information including the whole request:
    POST http://thor.velocigen.com:80/vx_engine/soap-trigger.pperl Accept: text/xml Accept: multipart/* Content-Length: 534 Content-Type: text/xml; charset=utf-8 SOAPAction: "urn:vgx-horoscope#getHoroscope" <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-EN +V="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w +3.org/1999/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap +/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/e +ncoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"><SOAP +-ENV:Body><namesp1:getHoroscope xmlns:namesp1="urn:vgx-horoscope"><as +trology><sign xsi:type="xsd:string">aries</sign></astrology></namesp1 +:getHoroscope></SOAP-ENV:Body></SOAP-ENV:Envelope>

    /J\

      Hi all

      thanks for replies.. just finished going thru gellyfish's answer from related topic !!! many thanks

      will take me a bit of time to try all but at first glance the SOAP::Trace gives some useful answers...

      I find a lot of the SOAP::Lite on-line documentation a bit confusing, but I am getting there (i hope)

Re: SOAP::Lite (agghhh)
by samtregar (Abbot) on Aug 23, 2004 at 16:20 UTC
    I'm not a big fan of the SOAP::Lite tracing tools (which are documented in SOAP::Lite). I recommend you set up a logging proxy using HTTP::Proxy. Have it write each request and response to a file and you should be able to follow the transaction exactly as it occurs.

    -sam

Re: SOAP::Lite (agghhh)
by jeffa (Bishop) on Aug 23, 2004 at 15:59 UTC