Comments (4)
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.
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.
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.
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)
- deprecated on PHP 8.1.7: Headers::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists HOT 2
- Separate error codes for "invalid_return" HOT 12
- Support <NIL/> extension - or at least don't crash HOT 4
- PHP 8.1 deprecated strftime and gmstrftime HOT 1
- Remove warnings in PHP 8.1 HOT 8
- xmlrpc_encode_request HOT 3
- 1 HOT 1
- demo install HOT 11
- Legacy layer load order incorrect HOT 2
- Is it possible to disable autpomatic base64 decoding? HOT 6
- Struct does not work HOT 3
- Uncaught Error: Call to a member function serialize() on string in /vendor/phpxmlrpc/phpxmlrpc/src/Value.php:373 HOT 1
- Cannot access protected property Server::accepted_charset_encodings in Server.php (1533) HOT 4
- Suppress xml_parse warnings in XmlParser HOT 7
- How to specify a method signature for a function that returns void? HOT 4
- Add support for php 7+ type hinting in the Wrapper class
- Provide support for HTTP/2 HOT 6
- Nested parameters fail with [Call to a member function serialize() on string] in phpxmlrpc/src/value.php HOT 1
- PHP 8 undefined array key. HOT 2
- Class "PhpXmlRpc\Exception\PhpXmlrpcException" not found HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpxmlrpc.