我有这个方法Answers
,它使用这个结构:
struct PCLAnswersReq
Members
string | UserName
integer | SessionID
array of struct PCLAnswerUnit | Answers
结构PCLAnswerUnit
看起来像:
Members
integer | QuestionID
string | Answer
所以PCLAnswersReq
有用户名、会话ID和结构数组PCLAnswerUnit
,这很好,但我似乎无法弄清楚如何进入第二个结构。
我的请求(使用 php xml-rpc)如下所示:
xmlrpc_encode_request('PCLAnswers', array("UserName"=>$uname,"SessionID"=>$sesid,"Answers"=>xmlrpc_encode_request('PCLAnswerUnit',array("QuestionID"=>'',"Answer"=>$questions))));
这当然会导致错误:
"request contains string value where array expected [request : parameter 1 : struct mapped to type PCLAnswersReq : member Answers mapped to type PCLAnswerUnit[]]"
我尝试删除第二个 xmlrpc 请求,并仅指向Answers
QuestionID 和 Answer 数组,但这也不起作用。
任何指导都是有帮助的。
谢谢!
'更新'
当xml-rpc请求修改成这样:
xmlrpc_encode_request('PCLAnswers', array("UserName"=>$uname,"SessionID"=>$sesid,"Answers"=>array()));
它工作正常。但是,当我将“$questions”数组传递给它时,它再次失败。