[英]Why the result from the web service references and Service references are different?
我对尝试理解服务引用和Web服务引用的概念时发生的一件事感到有点好奇。
我做的是什么?
在我的项目中,我添加了一个web service
作为服务引用,并尝试通过使用客户端来运行我的脚本。 但是在获得结果时,它会抛出异常,如下图所示:
我试图找出原因,但无法得到正确答案。 我有结果对象的以下代码。
[
ComVisible(false),
Serializable,
SoapTypeAttribute("RecordList", "http://www.someadd.com/dev/ns/SOF/2.0"),
XmlType(TypeName="RecordList", Namespace="http://www.someadd.com/dev/ns/SOF/2.0")
]
public class MyRecordListWrapper
{
private IxRecordList recordList = null;
private const string XMLW3CSchema = "http://www.w3.org/2001/XMLSchema";
[SoapElement("Headers")]
public Header[] Headers = null;
[SoapElement("Records")]
public Record[] Records = null;
// some methods to work on intialization
public SmRecordListWrapper(ref IxRecordList p_RecordList)
{
recordList = p_RecordList;// record list initialization
Headers = CreateWrapperHeaders(); // will return header class object
Records = CreateWrapperRecords(); // will return record object
}
}
任何人都可以告诉我为什么这个错误对我来说?
在我添加与web reference
相同的引用时添加引用作为Web服务 web reference
,那时程序没有显示任何错误并成功运行?
那么有谁能告诉我使用服务引用和Web服务引用使用相同的代码有什么区别? 哪个是正确的引用方式?
希望我能得到更多描述的答案,使事情易于理解。
提前致谢。
添加Web引用,visual studio使用xsd.exe从服务元数据生成类。 这使用了引擎盖下的XmlSerializer。
添加服务引用,visual studio使用svcutil.exe从元数据生成类。 这使用了引擎盖下的DataContractSerializer。
两个独立的工具,两个结果。 对于一般信息,DataContractSerializer在从元数据生成类时要宽容得多 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.