Giter Site home page Giter Site logo

Accessing generated XML about phpxmlrpc HOT 4 CLOSED

gggeek avatar gggeek commented on July 30, 2024
Accessing generated XML

from phpxmlrpc.

Comments (4)

ryanhellyer avatar ryanhellyer commented on July 30, 2024

I found that this was possible by adding print_r( $this->payload );die; at line 2189 of the xmlprc.inc file. It would be useful to have a way to see the ouput without hacking up the core library files like that though.

from phpxmlrpc.

gggeek avatar gggeek commented on July 30, 2024

Well, the $payload member of the Message is public, so you can access it at any time you want. You can dump it in your own code, before calling send() on the Client, so it is not a hack.

If you turn on the $debug in the client, you also get a lot of info. Especially when using the server from this library, which can echo back encoded in comments in the xml response the full payload it received. You can see this in action when using the built-in debugger and cranking up the debug level in the bottom-half of the main form. You could f.e. point your own code at the built in server, and dump what you get back => the request sent will be part of the response.

I was recently thinking about making the client able to write its requests to a file pointer instead of a network socket, explicitly to ease debugging not only of the message payload, but of the whole request, including http headers.
This was not done yet because it just does not fit too well in the current API - f.e. it would not work at all as soon as you are setting up the client to use curl instead of fsockopen (and you do not do this explicitly, rather implicitly most of the time).
Last but not least, it should also allow dumping the received payload, otherwise it would not be catering to 50% of debugging needs.

I might otoh add a chapter in the doc where I explain how to use a network sniffer to achieve exactly the same :-)

from phpxmlrpc.

gggeek avatar gggeek commented on July 30, 2024

ps: as a side note: you really should use the latest version of the code (branch 4.0) if you are starting a new project, not the old one. It is currently tagged alpha, but the stability is not worse than the 3.0 release.

from phpxmlrpc.

gggeek avatar gggeek commented on July 30, 2024

It is currently quite easy to grab the request's generated xml before sending it over via the following 3 lines of code:

        if (empty($req->payload))
            $req->serialize($request_charset_encoding);
        var_dump($req->payload);

In the case of the server:

$srv = new Server($dispatchMap, false);
var_dump($srv->service(null, true));

Closing.

from phpxmlrpc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.