感谢您的帮助。

我正在为外部客户端创建一个wcf Web服务。 客户端正在请求wsdl的副本。 我目前正在等待能够为客户提供对服务的访问权。

当我转到运行该服务的本地网络服务器时( http://localhost/Services.svc?wsdl )我被告知了 wsdl,提供的数据包含方法签名(来自后面的.svc代码), 但不包含所包含的模型对象(Customer,Order,ext)。

要获取这些对象,我可以在显示的数据中找到引用并转到URL

让我向客户提供所有需要的信息,以便他们拥有整个wsdl 我应该提供主模式以及每个导入的模式吗?

还是有其他方法可以完成此任务(其他方式是客户端点击服务器)

ie:有没有办法将所有这些包装在一个文件中?
(看起来有些东西可用于提取每个文件?)

如果我要给每个文件一个.zip,那就够了吗?

谢谢, 史蒂文

有帮助吗?

解决方案

正如您已经注意到的那样,WCF将其WSDL和XSD(用于描述正在发送的数据的XML模式)打包成各个部分。这些是从您的主WSDL引用的,带有额外的href。

甚至更好:您可以运行“svcutil -metadata”;在命令行上命令对包含您的服务实现的DLL或EXE - 这将在您运行svcutil命令的目录中创建所有需要的文件(通常是几个WSDl和几个XSD)。这通常是比从wsdl URL拼凑WSDL和XSD文件更可靠的方式(通常最终会丢失一个或两个文件)。

马克

其他提示

如果您手动下载了引用的每个子WSDL和XSD,那么是的,它会起作用;但至少可以说它很麻烦。

值得研究的选择是使用Christian Weyer的 WCF扩展用于展平您的WSDL,以便WCF在单个文件中生成所有内容,然后将其提供给您的客户端。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top