作者kanoto (生活)
看板C_Sharp
標題NetCore post 以Soap檔呼叫
時間Fri Nov 9 18:00:44 2018
目前在做一份專案
透過第三方訂單更新通知
指定自己API網址之後 每更新一次訂單它會吐一份Soap格式檔到API的Post
但是問題來了
1.
因為還無法測試這第三方功能 只能透過postman去丟一個暫時Soap來測試
在netcore api post這邊我的參數是這樣寫:
public NotificationResponse Post([Frombody]string SoapRequest)
{
//把soap字串接到後再進行讀取其中ID動作
}
請問在postman時 我要post Soap過去 勢必要在body部分設定格式為Json
才能因為[FromBody]去讀取我丟的Soap
但是在postman我不知道怎麼把soap寫成字串模式...好像因為不是正確格式
而無法執行post
2.
後來有看到postman那邊可以選取格視為xml(text/xml)
想說可不可以透過這個直接丟soap過去 在透過soap反序列化在帶參數自動轉成物件
public NotificationResponse Post([Frombody]SoapModel SoapRequest)
{
//此時SoapRequest
}
但是也不知道為何沒有執行post或是參數部分都是為Null
想請教是否有相關經驗的前輩可以解惑
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.94.228
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1541757647.A.BA5.html
推 imrbo: 這問題我有遇到過,如果用string去接遇到‘{’會說違法字元 12/22 02:14
→ imrbo: 要嗎就是改成json格式接 public NotificationResponse Post 12/22 02:15
→ imrbo: ([Frombody] newtonsoft.json.linq.jobject SoapRequest) 12/22 02:15
→ imrbo: 12/22 02:15
→ imrbo: { 12/22 02:15
→ imrbo: 12/22 02:15
→ imrbo: //把soap字串接到後再進行讀取其中ID動作 12/22 02:15
→ imrbo: 12/22 02:15
→ imrbo: } 12/22 02:15
→ imrbo: 要嘛就編碼base64近來在解 12/22 02:15