感谢您的帮助。
我正在为外部客户端创建一个wcf Web服务。 客户端正在请求wsdl的副本。 我目前正在等待能够为客户提供对服务的访问权。
当我去我运行服务的本地网络服务器(http://localhost/Services.svc?wsdl)时,我会看到 wsdl,提供的数据包含方法签名(来自后面的.svc代码), 但不包含所包含的模型对象(Customer,Order,ext)。
要获取这些对象,我可以在显示的数据中找到引用并转到URL
让我向客户提供所有需要的信息,以便他们拥有整个wsdl 我应该提供主模式以及每个导入的模式吗?
还是有其他方法可以完成此任务(其他方式是客户端点击服务器)
即:有没有办法将所有这些包装在一个文件中? (看起来有些东西可用于提取每个文件?)
如果我要给每个文件一个.zip,那就够了吗?
谢谢, 史蒂文
答案 0 :(得分:0)
如果您手动下载了引用的每个子WSDL和XSD,那么是的,它会起作用;但至少可以说它很麻烦。
值得研究的选项是使用Christian Weyer的WCF extensions来展平您的WSDL,以便WCF在单个文件中生成所有内容,然后将其提供给您的客户。
答案 1 :(得分:0)
正如您已经注意到的那样,WCF将其WSDL和XSD(用于描述正在发送的数据的XML模式)打包成各个部分。这些是从您的主WSDL引用的,带有额外的href。
甚至更好:你可以在命令行上对包含你的服务实现的DLL或EXE运行“svcutil -metadata”命令 - 这将在目录中创建所有需要的文件(通常是几个WSDl和几个XSD)在哪里运行svcutil命令。这通常是比从wsdl URL拼凑WSDL和XSD文件更可靠的方式(通常最终会丢失一个或两个文件)。
马克