情景
在web api開發的過程中,免不了有些系統比較古老,需要支援呼叫webservice,並使用xml互動。
在基於mvc5或者net.core的方式實現呼叫webservice並不是十分友好。
一般我不建議直接採用【引用】-【新增服務引用】-【高階】-【新增web引用】 在net framework 自動生成的**
比較多,並不簡潔易懂,但是呼叫是方便很多。
下面是基於自定義soap請求服務
#region 構造soap請求資訊 格式參考raw 返回型別參考raw
stringbuilder soap = new stringbuilder();
//_loggerhelper.info("renbaoinsure請求", xml, "renbaoinsure");
bll_tguaranteeinfo_manual.addlog(generalinfo.uuid, "請求", datas, url);
//返回成功與失敗的判斷 失敗後返回空的returninfo上去
string result = getsoapresource(url.replace("?wsdl", ""), soap.tostring());
//_loggerhelper.info("renbaoinsure返回", webutility.htmldecode(result), "renbaoinsure");
bll_tguaranteeinfo_manual.addlog(generalinfo.uuid, "返回", webutility.htmldecode(result), url);
xmldocument doc = new xmldocument();
doc.loadxml(result);
returninfo returninfo = (returninfo)xmlutil.deserialize(doc.innertext);
在傳遞xml給對方系統前我方的xml格式引數【編碼前】,對方系統接受並返回結果回來可能屬於【編碼後】格式。
編碼前
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
cxp49ec8ec93579e340b
0726
00成功
49q000e01038
00處理成功
2019-07-15 16:04:29100
處理成功
編碼後
<?xml version="1.0" encoding="gb2312" standalone="yes"?>
cxp49ec8ec93579e340b
0726
00成功
49q000e01038
00處理成功
2019-07-15 16:04:29100
處理成功
using system.net;
webutility.htmldecode(「內容」)
方式二:
using system.xml;
xmldocument doc = new xmldocument();
doc.loadxml(result);
doc.innertext;
編碼 解碼 中文編譯碼
字串和字符集的關係 字串是python程式的一種格式 位元組串是網路傳輸的一種形式 字串和位元組串轉換 字串 str encode 位元組串 bytes 位元組串 bytes decode 字串 str ascii字符集是utf 8字符集的前128位字元,可以說ascii字符集是utf 8字符集的子...
js編碼 解碼
js對文字進行編碼涉及3個函式 escape,encodeuri,encodeuricomponent,相應3個解碼函式 unescape,decodeuri,decodeuricomponent 1 傳遞引數時需要使用encodeuricomponent,這樣組合的url才不會被 等特殊字元截斷。...
JS 編碼解碼
encodeuri 函式可把字串作為 uri 進行編碼。encodeuri uristring 引數 描述uristring 必需。乙個字串,含有 uri 或其他要編碼的文字。uristring 的副本,其中的某些字元將被十六進製制的轉義序列進行替換。該方法不會對 ascii 字母和數字進行編碼,也...