0

我有一個CRM動態插件,它的web API調用,但我收到以下錯誤:CRM動態網頁API(400)錯誤的請求

The remote server returned an error: (400) Bad Request 

我使用下面的代碼

  using (WebClient client = new WebClient()) 
      { 
       string URI = "http://myserver/api/myaction"; 
       string myParameters = string.Format("param1={0}", param1); 

       using (WebClient wc = new WebClient()) 
       { 
        wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
        string HtmlResult = wc.UploadString(URI, myParameters); 
       } 
      } 

當我使用插件註冊工具進行配置文件和調試時,web api調用會返回有效結果並且不會出錯。

任何想法是什麼導致這個真氣難題?

更新: 該插件運行在沙盒模式,並在前提下。 我們已經嘗試過使用異步HttpClient,但是這需要引用附加的dll引起它自己的問題(將dll添加到GAC/ILMerge),因此試圖最初使用WebClient獲得工作解決方案,而不需要額外的dll引用。

+0

您的插件是否在隔離/沙箱模式下運行(本地選項/在線需要),它是異步嗎?您的WebAPI使用身份驗證嗎? – Nicknow 2015-02-09 16:46:11

+0

另外,你有沒有試圖在WebApi端追蹤(http://www.asp.net/web-api/overview/testing-and-debugging/tracing-in-aspnet-web-api)? – Nicknow 2015-02-09 16:47:44

+0

我添加了一些附加信息@Nicknow – MightyAtom 2015-02-09 19:50:23

回答

-1

問題原來是由IIS綁定問題導致的。

+4

請添加更多詳細信息,特別是當您回答自己的問題時......網站是如何綁定的以及您需要更改網站的綁定以解決問題需要進行哪些更改?這將有助於未來可能有同樣問題的讀者。 – Nicknow 2015-02-10 16:48:44