Comments (6)
My bad, I guess overlooked something. I had to set PhpXmlRpc::$xmlrpc_null_extension = true
from phpxmlrpc.
yup :-)
from phpxmlrpc.
Side note: any feedback on the php53 branch? Things you'd like to see added or changed?
from phpxmlrpc.
Well I have to say using this branch feels better. I do have to change ALOT of code to be compatible with this, but its for a better cause.
I did find something weird tho. It seems as if the php53 branch RPC => function map is much stricter. I have to add that I did write a class on top of the Server
class to parse a token I send with each call.
This used to work (please note, there is a double entry in the signature. I just discovered this as a bug)
'Article.ArticleCount' => array(
'class' => 'Wiq_ArticleController',
'function' => 'Article_ArticleCount',
'signature' => array(
array($xmlrpcArray, $xmlrpcString, $xmlrpcInt, $xmlrpcInt),
array($xmlrpcArray, $xmlrpcString, $xmlrpcNull, $xmlrpcNull),
array($xmlrpcArray, $xmlrpcString, $xmlrpcNull, $xmlrpcInt),
array($xmlrpcArray, $xmlrpcString, $xmlrpcNull, $xmlrpcInt)
),
'docstring' => '[token] [active] [public]',
'cache' => true
),
Updating to this (please note, bug still there):
'Article.ArticleCount' => array(
'class' => 'Wiq_ArticleController',
'function' => 'Article_ArticleCount',
'signature' => array(
array(Value::$xmlrpcArray, Value::$xmlrpcString, Value::$xmlrpcInt, Value::$xmlrpcInt),
array(Value::$xmlrpcArray, Value::$xmlrpcString, Value::$xmlrpcNull, Value::$xmlrpcNull),
array(Value::$xmlrpcArray, Value::$xmlrpcString, Value::$xmlrpcNull, Value::$xmlrpcInt),
array(Value::$xmlrpcArray, Value::$xmlrpcString, Value::$xmlrpcNull, Value::$xmlrpcInt)
),
'docstring' => '[token] [active] [public]',
'cache' => true
),
Now the Server responded with Incorrect signature
when sending: Article.ArticleCount('token', 1, null)
ps: I did correct the bug by now. ;-)
from phpxmlrpc.
Interesting use case - I do not think there's any scenario in the test suite which uses xmlrpc null values.
I will try to look over it in the weekend (no promise given though).
Otoh: what about not sending a value at all when it is NULL?
eg:
'signature' => array( array(Value::$xmlrpcArray, Value::$xmlrpcString, Value::$xmlrpcInt), array(Value::$xmlrpcArray, Value::$xmlrpcString, Value::$xmlrpcInt, Value::$xmlrpcInt), array(Value::$xmlrpcArray, Value::$xmlrpcString, Value::$xmlrpcNull, Value::$xmlrpcInt), ),
pps: if you don't wanna go over changing your code, there's still the compatibility layer available...
from phpxmlrpc.
I wanted to update the code, its time to do some refactoring etc. And it helps to find old bugs.
I do need the null value. For instance counting articles that are public(1)
or not-public(0)
or where this status does not matter, null
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
- Response sent on Request if HttpException, status_code is false configured. HOT 1
- 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.