我调用的服务可能会不时更改 - 因此,如果确实更改了,我希望我的客户端能够了解到新方法以及对调用的新输入参数和输出参数,而无需重建客户端。
其中一个可能的解决方案是动态导入和编译服务引用。在此处概述:Creating an assembly on the fly from a WSDL 如果可能的话,我想避免生成程序集并反射它。
我查看了链接中动态代理的代码,并使用框架类来进行导入。该类是
WsdlImporter
。所以我认为很好 - 我可以使用它并检查WSDL模式,确定存在哪些调用以及可用的输入和输出。问题在于
WsdlImporter
创建的MessagePartDescription
对象中缺少类型信息。显然,这是因为它尚未找到类型 - 请参见Brian的问题回答中的响应。。那么我应该如何继续?我完全走错了吗?
WsdlImporter
- 但它并不公开有关操作参数类型的信息。不知何故,其他框架部分可以从WSDL导入器中获取这些信息 - 但像我这样的凡人却不能。 - Neil