2012-01-21 97 views
1

我使用XMLRPC創建一個用戶,並正在以下兩個錯誤:XMLRPC和Drupal

Illegal choice C in Roles element. 
Illegal choice C in Status element 

正如最新的日誌項報告顯示。

我正在使用C#和XMLRPC(Cook計算)程序集來創建我的調用。我能夠成功連接並登錄到服務器。 SessionID和Cookie正在工作。我只是覺得在用戶創建中我缺少一些東西。

這裏是我送的參數:

[XmlRpcMethod("user.create")] 
Drupal UserCreate(string name, string mail, string pass, string status); 

有誰知道爲什麼我會得到這個錯誤? 筆記:我正在使用服務3.0運行Drupal 6.22。

+0

您已經要求將您的代碼編輯爲Clive的答案。如果沒有獲得批准,您可以將其編輯到問題的底部。 – Rup

+0

我認爲這也不是真正適合解決問題的地方;這裏最類似的東西可能是添加特定的解決方案代碼作爲另一個答案(或者在對Clive的答案的評論中描述它)。儘管看起來很奇怪,但在SO上回答自己的問題完全可以。 –

+0

如果他喜歡編輯,他可以接受他們,如果沒有,答案完全正確。 :) –

回答

1

如果你看/sites/all/modules/services/resources/user_resource.inc,在_user_resource_create()函數,你會看到通過模擬提交user_register form添加用戶。此表單需要一個roles數組參數,其中至少有一個用戶角色不在當前傳遞中。

我不是100%關於status錯誤,但嘗試將c#類型更改爲int,就像它在Drupal數據庫中那樣。

+0

釘了它! –