2011-02-14 98 views
0

在我們的項目中,我們直接從asp.net網頁調用.svc文件,並收到錯誤「遠程服務器返回錯誤:(400)錯誤請求遠程服務器返回錯誤:WCF中的400 badrequest

我們的項目體系結構是,我們在我們的web應用程序中使用.svc文件,在另一個類庫項目中使用svc在另一個類庫中使用.cs文件。aspx,我們直接調用WCF服務而不添加引用或任何東西我不能改變這個概念,因爲它是我們的標準,我可以添加服務引用並調用這些方法,但是我想直接從.svc url調用方法。 2天,不能解決錯誤。我們使用HttpWebRequest來獲取服務的響應。基本上,該服務將以數據傳輸對象(DTO)作爲輸入,並返回與只有一個值的輸出相同的(DTO)。

檢查下面的代碼:

HttpStatusCode statusCode = HttpHelper.PostXmlRequestValue(requestXMLInput, 
     string.Format("http://{0}/{1}/MySample.svc/webhttp/MyMethodName", 
     Request.ServerVariable["HTTP_HOST"], Request.ApplicationPath); 

相同的代碼工作在一臺機器,但不是在其他。我檢查了配置,一切都一樣,但仍然收到相同的錯誤。

當我在我的機器上使用.svc url時,它可以工作,但給出了一條消息「方法不允許」。當我在工作機器上檢查相同的網址時,我得到了相同的信息。我相信有一些簡單的事情我錯過了。我找不到,因爲我是WCF的新手。

+0

如果您發佈的是代碼,XML或數據樣本,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕({}),以良好地格式化和語法突出顯示它! – 2011-02-14 07:10:45

回答

0

當使用HttpWebRequest時,「方法不允許」錯誤是例如當服務期望Http POST時發送Http GET。

HttpWebRequest是基於REST的配置,這限制了您可以發送的DTO的複雜性。

+0

那麼我現在可以做什麼?正如我所說,相同的代碼在另一臺機器上工作? – superachu 2011-02-14 07:01:41

相關問題