2013-07-27 34 views
1

我目前陷入了一個相當重要的問題,我希望有人能夠闡明一些關於配置基於XML-RPC的Web服務來討論我的遊戲學習虛擬世界和一個專用的Moodle站點Moodle和C# - Web服務配置

據我所知,從下面就如何配置Moodle的Web服務的一些稀疏的信息,我已經做了以下步驟:

  • 啓用Web服務
  • 啓用XML-RPC協議
  • 編輯我的管理角色,允許使用令牌的協議和創造爲
  • 創作這我的管理員已添加到

Moodle的文檔發送給您的認證用戶服務的日誌記錄 有點循環,但從我能看到我已經包括檢查清單

我現在試圖插入到我的虛擬世界的後端來填充我的動態地形引擎與主題,分配等集基於用戶可以訪問什麼等等

我的問題來自於簡單的HttpWebRequest用於檢索令牌用戶 我使用下面的方法。當我調試這個驗證生成令牌返回包含該令牌

public string GetToken(string uname,string pword) 
    { 
     byte[] buffer = Encoding.ASCII.GetBytes("username="+uname+"&password="+pword+"&service=reflex"); 

     HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(url + "login/token.php?username=" + uname + "&password=" + pword + "&service=myservice"); 
     WebReq.Method = WebRequestMethods.Http.Post; 
     WebReq.ContentType = "application/x-www-form-urlencoded"; 

     WebReq.ContentLength = buffer.Length; 
     using(Stream PostData = WebReq.GetRequestStream()) 
      PostData.Write(buffer, 0, buffer.Length); 

     HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse(); 
     using(StreamReader reader = new StreamReader(WebResp.GetResponseStream())) 
      return token = reader.ReadToEnd(); 
    } 

一個字符串,它拋出一個錯誤,表示Web服務已關閉,但據我所知,Web服務在這裏沒有被調用,它使用內置的原始php文件返回一個字符串,而不是更多。我檢查了PostData.Write並拋出了一個.Length NotSupportedException,我不確定它是否對第二個使用語句產生影響

我希望如果有人能夠幫助配置設置,下一步應該落入地方容易作爲XML-RPC的dll似乎很強大,易於使用的

任何幫助,將不勝感激

非常感謝 巴里

回答

0

現在解決

通過SQL調用手動檢索令牌並讓Web服務立即運行

0

如果您在表mdl_external_services中查看了一個名爲short name的字段,該字段可能爲null,因爲您無法似乎通過moodle UI填充它。這是需要用作服務參數而不是服務名稱的值。