簡體   English   中英

使用Rest Sharp在休息電話正文中發布XML

[英]Post XML in body of rest call using Rest Sharp

我在嘗試使用Rest Sharp進行POST時遇到問題。 我正在嘗試調用一個不完全符合現代標准的Web服務,我需要能夠在我的帖子正文中發布請求XML。

如果我只是在RestRequest對象上執行request.AddBody(xmlObject),則將一個名為text / xml的參數添加到請求中。 在這種情況下,我從服務器收到一條錯誤響應,提示“拋出異常:序言中不允許內容”。 這告訴我服務器正在嘗試與值一起處理參數(text / xml =)的鍵。

當我在chrome正文字段中使用帶有所需xml請求的chrome REST控制台時,一切都會按預期進行。

關於如何使用Rest Sharp進行這項工作的任何想法?

編輯:看起來我需要使用request.AddFile(“ name”,bytes_to_add,“ file_name”)。 然而,當我嘗試這樣做,我得到一個異常(“System.InvalidOperationException:寫作開始后該屬性不能設置。”),它看起來像一個問題與RestSharp這是從來沒有解決。 我可能只需要通過HttpWebRequest庫發出請求即可。

您可能想得太多。 RestSharp.AddBody將對象作為參數,並根據RequestFormat屬性使用JSON或XML序列化器自動將其序列化為正確的格式。

直接添加XML沒有任何意義。 REST的神奇之處在於它支持多種格式,而不僅僅是XML。 RestSharp的編寫考慮了這一點,因此其所有公共接口都僅使用POCO。

簡單的解決方案是不對對象進行序列化。 您不想添加xmlObject,只需將真正的C#對象傳遞給AddBody方法並讓其處理序列化即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM