我目前正在用C#.NET开发一个WCF Web服务。我对此很新。我正在考虑如何实现某种方法,因为它需要将“外部”对象作为DataContract返回。我不确定这是如何工作的。为外部对象创建一个DataContract
我的Web服务实现了另一个第三方Web服务。原因是因为我们不允许向公众公开所有方法和数据。所以我们正在设计一个Web服务,去除第三方Web服务公开的某些数据和方法。
第三方Web服务公开这样的方法:
CourtVerdictResults GetVerdict (CourtVerdictRequest verdict);
我的Web服务实现了方法,像这样一个精简版:
CourtVerdictResults GetVerdict (String verdictCaseNumber);
在该方法的话,我去掉一些敏感数据,然后我应该返回CourtVerdictResults
对象。
但是这个对象是在第三方Web服务中定义的。我的项目引用该Web服务,以便了解该对象。但是我自己的Web服务没有将该对象作为DataContract。那么当其他人开始使用我的Web服务时,如何返回这样的对象呢?
我是否需要做一些特殊的事情,以便其他人实现我的Web服务时,他们的代码自动知道CourtVerdictResults
?
这是唯一的方法吗?因为这个类非常庞大而且复杂,并且持有对其他对象的引用等。是不是有办法告诉我的WCF服务它应该自动从该外部Web服务的'CourtVerdictResults'生成一个数据协定? – Vivendi 2013-03-27 13:11:33
第三方站点是否公开WSDL?如果是这样的话:http://stackoverflow.com/questions/2582341/how-to-convert-wsdl-file-to-class-file – 2013-03-27 13:21:12
我想,如果我需要返回一个对象,然后将WSDL转换为一个类是最好的方式去(在这种情况下)。我所要做的就是将'[DataContract]'和[DataMemebers]'添加到我想要公开的属性中。 – Vivendi 2013-03-27 13:42:42