Your "isset" provides one clue. On the client you can overload functions to handle optional input/request parameters. How can you do that on the server, which has to fill in results by putting values in pointers?
/r$
--
STSM, WebSphere Appliance Architect
https://www.ibm.com/developerworks/mydeveloperworks/blogs/soma/
