第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

什么會導致已部署服務中的反序列化在本地成功時失?。?/h1>

什么會導致已部署服務中的反序列化在本地成功時失敗?

C#
紅顏莎娜 2023-04-29 09:48:37
我向我的 WCF 服務添加了第二種方法。它本質上與另一個執(zhí)行相同的工作,只是它接收一個 xml 文檔,對其進行反序列化,然后調用另一個方法。它在本地完美運行,我的 XML 被反序列化并且調用成功。但是,現(xiàn)在我已經(jīng)將它部署在我的本地服務器上,調用返回 500 錯誤,因為反序列化失敗。我的 XML 文檔具有與每個節(jié)點關聯(lián)的名稱空間,根元素和子根元素具有“ns1”等所有其他“ns2”前綴。為了進行反序列化,我(至少現(xiàn)在)對每個節(jié)點的命名空間進行了硬編碼。截斷后的 xml 文檔:<ns1:ValiderEtEnrichirGlobalEchangePartage    xmlns:ns1="API:WebApi"    xmlns:ns0="http://www.ra.fr/API/Transport/"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    <ns1:messageGlobal>        <ns0:AuteurEchange>...</ns0:AuteurEchange>        <ns0:Documents>            <ns0:DocumentEchangePartage>...</ns0:DocumentEchangePartage>        </ns0:Documents>        <ns0:ExpediteurEchange>...</ns0:ExpediteurEchange>    </ns1:messageGlobal>服務方法中的反序列化過程:public GlobalEchangePartageValide ValiderEtEnrichirGlobalEchangePartageXML(string xmlMessageGlobal){    XmlRootAttribute xroot = new XmlRootAttribute();    xroot.ElementName="ValiderEtEnrichirGlobalEchangePartage";    xroot.Namespace="API:WebApi";    XmlSerializer serializer = new XmlSerializer(typeof(ValiderEtEnrichirGlobalEchangePartage),xroot );    StringReader stringReader = new StringReader(xmlMessageGlobal);    ValiderEtEnrichirGlobalEchangePartage messageGlobal = (ValiderEtEnrichirGlobalEchangePartage)serializer.Deserialize(stringReader);    return ValiderEtEnrichirGlobalEchangePartage(messageGlobal.GlobalEchangePartage);}對應xml根元素的類:[XmlRootAttribute("ValiderEtEnrichirGlobalEchangePartage")]public class ValiderEtEnrichirGlobalEchangePartage{    [XmlElement(ElementName=("messageGlobal"))]    public GlobalEchangePartage GlobalEchangePartage { get; set; }}xml子根元素的類:[DataContract(Namespace = NamespacesConstantes.NAMESPACE_TRANSPORT)]public class GlobalEchangePartage{    [DataMember]    [XmlElement(ElementName = ("AuteurEchange"), Namespace = "http://www.ra.fr/API/Transport/")]    public Auteur AuteurEchange { get; set; }}請注意它是如何表示 XML 文檔中期望“xmlMessageGlobal”的,而它是變量的名稱......
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經(jīng)驗 獲得超11個贊

遇到的問題確實是反序列化問題。但是,這與我編寫的代碼無關,而是在收到字符串參數(shù)時。因為我的 xml 文檔被包裹在另一個 xml 文檔(請求)中,所以在處理過程中出現(xiàn)了問題。通過在我的邏輯應用程序中對我的 XML 進行 base64 編碼,并在服務中對其進行解碼,我能夠解決反序列化問題。

TLDR:通過 String 參數(shù)發(fā)送 xml 時要小心。


查看完整回答
反對 回復 2023-04-29
  • 1 回答
  • 0 關注
  • 146 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號