2017-09-29 85 views
0

我有一個web服務的問題,但我沒有看到錯誤。我已經使用wsdl在VS2017中生成Web引用。這是將其生成的類:C#XML序列化問題

https://gist.github.com/meteora1986/b43c9750ddeb50187420edd6741301f5

當使用這種類不與XMLATTRIBUTES選項生成用於web服務的XML。在調試由我XMLImporter discoverd以下錯誤: errors

所以我試圖序列化得到的代碼更詳細的錯誤消息像

try 
{   
    var serializer = new XmlSerializer(typeof(ari_webserviceService)); 
} 
catch (Exception ex) 
{ 
    // codes  
} 

而且從exeption這些消息有: 1內部消息:反映字段「網站」的錯誤。 2.內部MessageThere錯誤反映類型'System.ComponentModel.ISite'。

但是這些字段或類型沒有在web服務類中使用?任何人都可以幫忙嗎?

+0

爲什麼你想序列化服務類?你想要達到什麼目標?這有什麼問題? –

+0

我只是試圖得到一個更具體的錯誤信息。我不會爲了任何其他目的而序列化它。 – Stefan1986

+0

我只是試圖得到一個更具體的錯誤信息。我不會爲了任何其他目的而序列化它。當我使用web服務時,發送的xml不是它應該是的xml。 xml屬性例如對象名稱被忽略。例如,對象「ixml」應該被命名爲「i.xml」,但不適用於所有對象。看起來像這樣的所有命令都被忽略:「[System.Xml.Serialization.XmlElementAttribute(...)]」。但我不知道爲什麼,這就是問題所在...... – Stefan1986

回答

0

我絕對沒有一般的網絡服務的想法。

但您的web服務來自SoapHttpClientProtocol。如果您通過HttpWebClientProtocolWebClientProtocol上升基地班級,最後以Component結束,您會看到屬性Component.Site

可能能如果實現了IXmlSerializable接口具有完全控制要序列數據是什麼(以及如何)爲您解決問題...

+0

謝謝,我還沒有看到。我認爲這是錯誤的方式來序列化整個類的Web服務用於調試目的。但是我嘗試着實現IXmlSerializable,謝謝你的建議! – Stefan1986