簡體   English   中英

將XML發布到WebAPI方法始終為null

[英]Posting XML to a WebAPI method always null

我正在執行系統集成。 客戶端文檔狀態

“郵件是在HTTP CONTENT_TYPE標頭設置為“ application / x-www-form-urlencoded”的情況下發送的。

<Message>
  <Originator>ACME Solutions</Originator>
  <Payload>
     ...message xml content goes here...
  </Payload>
</Message>

我正在使用WebApi 2,發布的默認控制器操作具有以下定義:

public void Post([FromBody]string value)

每當我將此消息發布到Web服務時,接收到的值始終為null

我嘗試創建具有相同定義的類,但始終將其屬性設置為null。

public void Post([FromBody]Message value)

如果我將定義更改為更通用的定義,則可以從請求內容中提取Xml文檔,但這不是我想要的方式,因為它使單元測試變得困難。

public void Post(HttpRequestMessage request)

任何人都可以建議我要去哪里哪里以及為什么xml消息未映射到我的班級。

在將內容類型設置為application/x-www-form-urlencoded ,還需要對正文進行編碼以使其匹配。 因此,身體不再像這樣:

<Message><Originator>ACME Solutions</Originator><Payload>message</Payload></Message>

看起來像這樣:

value=%3CMessage%3E%3COriginator%3EACME+Solutions%3C%2FOriginator%3E%3CPayload%3Emessage%3C%2FPayload%3E%3C%2FMessage%3E

暫無
暫無

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

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