2017-09-29 64 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