1

私はこの構造体を使用するこのメソッドを持っていAnswersます:

struct PCLAnswersReq
Members
string                             | UserName
integer                            | SessionID
array of struct PCLAnswerUnit      | Answers 

構造体PCLAnswerUnitは次のようになります。

Members
integer | QuestionID
string  | Answer 

したがって、PCLAnswersReqにはユーザー名、sessionID、および構造体の配列がありますPCLAnswerUnit。これは問題ありませんが、2番目の構造体を取得する方法がわからないようです。

私のリクエスト(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[]]"

2番目のxmlrpcリクエストを削除し、AnswersQuestionIDとAnswerの配列を指定しようとしましたが、それも機能しませんでした。

どんなガイダンスも役に立ちます。

ありがとう!

'アップデート'

xml-rpcリクエストが次のように変更された場合:

xmlrpc_encode_request('PCLAnswers',  array("UserName"=>$uname,"SessionID"=>$sesid,"Answers"=>array()));

それはうまくいきます。ただし、「$ questions」の配列を渡すと、再び失敗します。

4

1 に答える 1

0

サーバー上の入力メソッドの署名は、return_type、xmlrpcString、xmlrpcString、xmlrpcArrayの順序である必要があります。

あなたはおそらくそれをどこかで混乱させているでしょう。戻りタイプの後に、最初に3つのパラメーターが続きます。

于 2012-08-23T17:26:04.567 に答える