Web服务在wsdl中向客户端公开了一个复杂类型

我(为了方便)2课 1)抽象类A 2)从A继承B类。 现在我正在使用方法“callMethod(A argument)” 这是在wsdl中暴露我的抽象类。 但问题是,在客户端,我希望能够知道A是B还是其他东西。而且我希望能够达到不可用的B级,因为它不在wsdl中。 我已经尝试过KnownTypeAttribute和ServiceKnownTypeAttribute,但我无法让它工作。 当然,我现在可以创建一个使用类型B参数的虚方法,从而导致类B在WSDL中公开,但这是不专业的。 任何的想法? 非常感谢     
已邀请:
我遇到了同样的问题,我发现的唯一一件事就是有一个暴露类型的方法(尽管从长远来看我需要一个)。 问题是wsdl必须包含类型,以便客户端知道B的属性,否则你不能使用B客户端。 B的wsdl将包含它继承A的事实。 在客户端的其他词中,您的对象确实是A - 因为只有公共属性被序列化,如果Web方法通过A,则A或B之间没有区别。     

要回复问题请先登录注册